Этот урок посвящен получению данных от пользователя в Java и выполнению математических операций. Создадим простой калькулятор для демонстрации.
Получение данных от пользователя
Для работы с пользовательским вводом используется класс Scanner. Его необходимо импортировать:
import java.util.Scanner;
import указывает на импорт класса Scanner из пакета java.util.
Создадим объект класса Scanner:
Scanner scan = new Scanner(System.in);
scan – имя объекта; new Scanner(System.in) создает объект, получающий данные из стандартного потока ввода (клавиатуры).
Получение строки
Для получения строки используется метод nextLine():
String userName = scan.nextLine();
Программа ожидает ввода и нажатия Enter. Введенная строка сохраняется в userName.
Получение чисел
Для получения чисел используются методы, соответствующие типу данных: nextInt() для целых чисел, nextByte() для байтов, nextFloat() для чисел с плавающей точкой и т.д. Например:
int num1 = scan.nextInt();
Обратите внимание: ввод строки вместо целого числа вызовет ошибку. Обработка таких ошибок будет рассмотрена позже.
Математические операции
Создадим переменные типа short:
short numA = 50;
short numB = 10;
Для сложения, вычитания, умножения и деления используются операторы: +, -, *, /. Результат может быть сохранен в переменную того же типа, если не происходит переполнения. Для предотвращения ошибок переполнения рекомендуется использовать типы с большим диапазоном значений, например, int.
int numC = numA + numB; // сложение
int numD = numA - numB; // вычитание
int numE = numA * numB; // умножение
Деление и остаток от деления
При делении целых чисел дробная часть отбрасывается. Для получения результата с плавающей точкой используйте тип данных float:
float numF = (float) numA / numB; // деление с плавающей точкой
int numG = numA % numB; // остаток от деления
Приведение типа (float) numA необходимо для корректного деления.
Сокращенные операции
Для упрощения записи можно использовать сокращенные операторы:
numC += 10; // эквивалентно numC = numC + 10;
numC++; // эквивалентно numC = numC + 1;
Аналогично работают -=, *=, /=, %= для вычитания, умножения, деления и получения остатка от деления соответственно.
Примитивный калькулятор
Объединим полученные знания:
System.out.println("Введите первое число:");
float num1 = scan.nextFloat();
System.out.println("Введите второе число:");
float num2 = scan.nextFloat();
float sum = num1 + num2;
float diff = num1 - num2;
float mult = num1 * num2;
float div = num1 / num2;
System.out.println("Результат:");
System.out.println("Сумма: " + sum);
System.out.println("Разность: " + diff);
System.out.println("Произведение: " + mult);
System.out.println("Частное: " + div);
Этот код запрашивает два числа и выводит результаты сложения, вычитания, умножения и деления. Обратите внимание на возможные ошибки при делении на ноль.
В этом уроке мы освоили получение данных от пользователя с помощью класса Scanner и выполнили основные математические операции в Java. Более сложные примеры и обработка ошибок будут рассмотрены позже.