Ввод и вывод данных в Java 17: подробное руководство
Ввод и вывод данных в Java 17
Что такое ввод и вывод и зачем это нужно?
Представь, что ты создаёшь программу-калькулятор, которая считает твои карманные расходы. Чтобы программа могла что-то посчитать, ей сначала нужно получить от тебя данные — например, сколько ты потратил в понедельник. Это называется вводом.
После того как программа посчитает результат, она должна показать его тебе — например, вывести на экран «Твои расходы за неделю: 1500 рублей». Это называется выводом.
Без ввода и вывода программа похожа на робота с закрытыми глазами и ртом — она ничего не узнает и ничего не расскажет. Поэтому это самый первый и важный навык, который нужно освоить.
Основной синтаксис: как выводить текст
В Java 17 для вывода данных используется команда System.out.println(). Она выводит текст и автоматически переводит курсор на новую строку.
public class Main {
public static void main(String[] args) {
System.out.println("Привет, мир!");
System.out.println("Это моя первая программа.");
}
}
Результат работы:
Привет, мир!
Это моя первая программа.
Если нужно вывести текст без перехода на новую строку, используй System.out.print():
public class Main {
public static void main(String[] args) {
System.out.print("Привет");
System.out.print(", друг!");
}
}
Результат работы:
Привет, друг!
Также можно выводить числа и результаты вычислений:
public class Main {
public static void main(String[] args) {
int a = 5;
int b = 3;
System.out.println("Сумма: " + (a + b));
}
}
Результат работы:
Сумма: 8
Основной синтаксис: как вводить данные
Для ввода данных в Java 17 используется класс Scanner. Его нужно «подключить» к программе с помощью специальной команды import.
Пошаговая инструкция:
- Напиши в самом верху файла:
import java.util.Scanner; - Создай объект Scanner:
Scanner scanner = new Scanner(System.in); - Используй методы для чтения данных:
nextInt()— для целых чиселnextDouble()— для дробных чиселnextLine()— для строк (текста)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Введите ваше имя: ");
String name = scanner.nextLine();
System.out.print("Введите ваш возраст: ");
int age = scanner.nextInt();
System.out.println("Привет, " + name + "!");
System.out.println("Тебе " + age + " лет.");
}
}
Пример работы программы:
Введите ваше имя: Аня
Введите ваш возраст: 12
Привет, Аня!
Тебе 12 лет.
Разбор типичных задач
Задача 1. Площадь прямоугольника
Нужно запросить длину и ширину, посчитать площадь (длина × ширина) и вывести результат.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Введите длину прямоугольника: ");
int length = scanner.nextInt();
System.out.print("Введите ширину прямоугольника: ");
int width = scanner.nextInt();
int area = length * width;
System.out.println("Площадь прямоугольника: " + area);
}
}
Задача 2. Определение возраста
Программа получает год рождения и текущий год, вычисляет возраст.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Введите год рождения: ");
int birthYear = scanner.nextInt();
System.out.print("Введите текущий год: ");
int currentYear = scanner.nextInt();
int age = currentYear - birthYear;
System.out.println("Ваш возраст: " + age + " лет");
}
}
Частые ошибки новичков
- Забыл импортировать Scanner. Без строчки
import java.util.Scanner;программа не будет работать и выдаст ошибку. - Перепутал методы ввода. Если нужно ввести число, используй
nextInt(), а неnextLine(). И наоборот, для текста используйnextLine(). - Не создал объект Scanner. Мало написать
import, нужно ещё создать scanner:Scanner scanner = new Scanner(System.in);. - Забыл точку с запятой. В Java каждая команда заканчивается точкой с запятой
;. - Проблема с nextLine() после nextInt(). После
nextInt()в буфере остаётся символ перевода строки. Если после этого вызватьnextLine(), он его «проглотит». Чтобы этого избежать, добавь лишнийscanner.nextLine();послеnextInt().
Итоговый пример: Уютное кафе
Давай напишем программу, которая поможет кассиру в кафе принять заказ. Программа спросит имя клиента, напиток и размер порции, а затем выведет итоговый заказ.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Введите ваше имя: ");
String name = scanner.nextLine();
System.out.print("Выберите напиток (кофе, чай, какао): ");
String drink = scanner.nextLine();
System.out.print("Выберите размер порции (маленькая, средняя, большая): ");
String size = scanner.nextLine();
System.out.println();
System.out.println("=== Ваш заказ ===");
System.out.println("Клиент: " + name);
System.out.println("Напиток: " + drink);
System.out.println("Размер: " + size);
System.out.println("Спасибо за заказ! Приятного аппетита!");
}
}
Пример работы программы:
Введите ваше имя: Дима
Выберите напиток (кофе, чай, какао): какао
Выберите размер порции (маленькая, средняя, большая): большая
=== Ваш заказ ===
Клиент: Дима
Напиток: какао
Размер: большая
Спасибо за заказ! Приятного аппетита!
Теперь ты знаешь основы ввода и вывода в Java 17. Пробуй решать задачи — с каждым разом будет получаться всё лучше и быстрее!