Java для новичков: ввод данных и калькулятор

Этот урок посвящен получению данных от пользователя в 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. Более сложные примеры и обработка ошибок будут рассмотрены позже.

Что будем искать? Например,программа