Найти в Дзене
Анастасия Софт

Урок 5 для Java-разработчика. 💻 Твои первые шаги в IDE: читаем данные с клавиатуры.

Поздравляю — ты уже установил свою первую IDE! А теперь пришло время сделать шаг вперёд и написать первую настоящую программу в ней. Но не просто написать, а ещё и научиться считывать ввод от пользователя — ведь без взаимодействия программы с человеком, всё это не больше, чем монолог. В этом уроке ты научишься: Открой, например, IntelliJ IDEA или NetBeans. Создай новый проект Java Application и добавь в него новый класс, например UserInfo. import java.util.Scanner;
public class UserInfo {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); // создаём объект Scanner для чтения с клавиатуры
System.out.print("Введите ваше имя: ");
String name = input.nextLine(); // считываем строку до нажатия Enter
System.out.print("Сколько вам лет? ");
int age = input.nextInt(); // считываем целое число
System.out.print("Введите ваш рост в метрах (например, 1.75): ");
double height = input.nextDouble(); // считыв
Оглавление

Поздравляю — ты уже установил свою первую IDE! А теперь пришло время сделать шаг вперёд и написать первую настоящую программу в ней. Но не просто написать, а ещё и научиться считывать ввод от пользователя — ведь без взаимодействия программы с человеком, всё это не больше, чем монолог.

В этом уроке ты научишься:

  • Создавать проект в IDE
  • Писать код с вводом с клавиатуры
  • Использовать класс Scanner
  • Запускать и тестировать свою программу прямо в среде разработки

🔨 Создаём проект и файл

Открой, например, IntelliJ IDEA или NetBeans. Создай новый проект Java Application и добавь в него новый класс, например UserInfo.

✍ Пример кода: читаем строку и числа

import java.util.Scanner;

public class UserInfo {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); // создаём объект Scanner для чтения с клавиатуры

System.out.print("Введите ваше имя: ");
String name = input.nextLine(); // считываем строку до нажатия Enter

System.out.print("Сколько вам лет? ");
int age = input.nextInt(); // считываем целое число

System.out.print("Введите ваш рост в метрах (например, 1.75): ");
double height = input.nextDouble(); // считываем число с плавающей точкой

System.out.println("Приятно познакомиться, " + name + "!");
System.out.println("Ваш возраст: " + age + " лет");
System.out.println("Ваш рост: " + height + " м");
}
}

🔍 Пояснение к каждой строке:

  • import java.util.Scanner;

    Подключаем класс Scanner для считывания пользовательского ввода.
  • Scanner input = new Scanner(System.in);

    Создаём объект input, через который будет идти ввод данных с клавиатуры.
  • nextLine()

    Метод, который считывает целую строку до нажатия Enter. Полезен, если пользователь вводит имя или целую фразу.
  • nextInt()

    Метод для считывания целого числа (например, возраста).
  • nextDouble()

    Метод для считывания чисел с плавающей точкой (например, рост, вес и т.д.).
  • System.out.print(...)

    Вывод запроса пользователю. Не переходит на новую строку.
  • System.out.println(...)

    Вывод строки с переходом на следующую строку.

🧠 Полезная таблица методов Scanner

Таблица методов Scanner
Таблица методов Scanner

🎯 Совет

Если вы после nextInt() сразу вызовете nextLine(), он может "пропустить" ввод. Это происходит из-за того, что nextInt() не "съедает" перевод строки. Чтобы решить проблему, после nextInt() просто вставьте input.nextLine(); — он поймает этот Enter.

🧪 Тест: проверь себя!

1. Что делает метод nextLine() из класса Scanner?

A. Считывает одно слово до пробела

B. Считывает целую строку до Enter

C. Считывает число

D. Считывает только первую букву строки

2. Что произойдёт при компиляции и запуске этого кода?

public class Demo {
public static void main(String[] args) {
System.out.println("Привет!");
}
}

A. Выведется "Привет!"

B. Ошибка компиляции

C. Ничего не произойдёт

D. Будет ошибка времени выполнения

3. Какой из методов Scanner подойдёт для считывания роста человека в формате "1.75"?

A. nextInt()

B. nextLine()

C. nextDouble()

D. nextWord()

4. Какой символ на консоли IDE обычно означает, что приложение завершено?

A. Зелёный треугольник

B. Жёлтый круг

C. Красный квадрат

D. Синий плюс

5. Где создаётся объект Scanner?

A. Внутри метода main()

B. Внутри класса System

C. В файле настроек IDE

D. Его не нужно создавать, он работает сам

📘 Заключение

Сегодня ты написал своё первое полноценное приложение с вводом данных от пользователя в IDE. Ты:

  • Создал проект в удобной среде разработки
  • Использовал класс Scanner для работы с вводом
  • Узнал, как обрабатывать строки, числа и числа с точкой
  • Познакомился с методами nextLine(), nextInt() и nextDouble()

Теперь твои программы могут общаться с пользователем, а не просто что-то печатать. Это огромный шаг вперёд!

Уроки Java
Уроки Java

✅ Ответы на тест:

1. Что делает метод nextLine() из класса Scanner?

Правильный ответ: B. Считывает целую строку до Enter

Пояснение:

Метод nextLine() используется для считывания
всей строки текста, включая пробелы до нажатия Enter. Это удобно, например, если пользователь вводит фразу: "Меня зовут Иван" — метод прочитает всё предложение целиком.

Чем отличается от других методов:

  • next() — считывает только первое слово (до первого пробела).
  • nextInt() — считывает только целое число.
  • nextDouble() — считывает число с плавающей точкой, например, 3.14.

2. Что произойдёт при компиляции и запуске этого кода?

public class Demo {
public static void main(String[] args) {
System.out.println("Привет!");
}
}

Правильный ответ: A. Выведется "Привет!"

Пояснение:

Этот код абсолютно корректен. Он содержит:

  • верный синтаксис метода main
  • команду System.out.println(...), которая отвечает за вывод в консоль.

В результате компиляции и запуска программа напечатает:

Привет!

Ошибок здесь нет ни синтаксических, ни логических.

3. Какой из методов Scanner подойдёт для считывания роста человека в формате "1.75"?

Правильный ответ: C. nextDouble()

Пояснение:

Число с плавающей точкой — это число, содержащее дробную часть (например, 1.75, 0.5, 185.0).

В Java для таких чисел используют тип
double, и метод nextDouble() подходит именно для таких случаев.

  • nextInt() — выдаст ошибку, если введёшь дробь.
  • nextLine() — считывает строку, но её придётся потом преобразовывать вручную.
  • nextWord() — не существует в классе Scanner.

4. Какой символ на консоли IDE обычно означает, что приложение завершено?

Правильный ответ: C. Красный квадрат

Пояснение:

В большинстве популярных IDE (например, IntelliJ IDEA, NetBeans, Eclipse) красный квадрат 🟥 в панели запуска означает, что:

  • Программа остановлена
  • Запуск завершён
  • Поток выполнения больше не активен

Это аналог кнопки "стоп" на плеере.

5. Где создаётся объект Scanner?

Правильный ответ: A. Внутри метода main()

Пояснение:

Чтобы программа могла считывать ввод пользователя, в методе main() создаётся экземпляр класса Scanner, например:

Scanner input = new Scanner(System.in);

  • Объект input существует в рамках метода main()
  • Его можно использовать для чтения текста, чисел и т.д.
  • Класс System лишь предоставляет поток System.in, но сам объект Scanner нужно создавать вручную

Остальные варианты неправильные:

  • Внутри класса System он не создаётся
  • IDE не создаёт Scanner за вас
  • Он не появляется автоматически без вашего кода