Java - Основные операторы

Добро пожаловать, будущие программисты на Java! Сегодня мы погружаемся в захватывающий мир операторов Java. Не волнуйтесь, если вы раньше не писали ни одной строки кода – мы начнем с самого начала и постепенно будем развиваться. К концу этого урока вы будете манипулировать данными как профи!

Java - Basic Operators

Что такое операторы?

Перед тем как перепрыгнуть в воду, давайте понимем, что такое операторы. В программировании операторы – это специальные символы, которые указывают компьютеру выполнять определенные математические или логические манипуляции. Представьте их вот так: это глаголы в предложении – они являются теми, кто выполняет действия!

Арифметические операторы Java

Начнем с самых известных операторов – арифметических. Эти операторы вы использовали еще с детства!

Сложение (+)

int apples = 5;
int oranges = 3;
int totalFruit = apples + oranges;
System.out.println("Total fruit: " + totalFruit);

Этот код выведет: Total fruit: 8

Здесь мы используем оператор +, чтобы сложить яблоки и апельсины. (Видите? В программировании мы можем сложить яблоки и апельсины!)

Вычитание (-)

int startingMoney = 100;
int spentMoney = 25;
int remainingMoney = startingMoney - spentMoney;
System.out.println("Money left: $" + remainingMoney);

Вывод: Money left: $75

Оператор - вычитает одно значение из другого.

Умножение (*)

int widgetPrice = 5;
int widgetQuantity = 7;
int totalCost = widgetPrice * widgetQuantity;
System.out.println("Total cost: $" + totalCost);

Вывод: Total cost: $35

Оператор * умножает два значения.

Деление (/)

int pizzaSlices = 8;
int people = 3;
int slicesPerPerson = pizzaSlices / people;
System.out.println("Slices per person: " + slicesPerPerson);

Вывод: Slices per person: 2

Оператор / делит одно значение на другое. Заметьте, что при делении целых чисел Java округляет в меньшую сторону до ближайшего целого числа.

Остаток от деления (%)

int cookiesLeft = 10;
int peopleWantingCookies = 3;
int leftoverCookies = cookiesLeft % peopleWantingCookies;
System.out.println("Cookies left over: " + leftoverCookies);

Вывод: Cookies left over: 1

Оператор % дает остаток от деления. Он очень полезен для определения, являются ли числа четными или нечетными, или для циклического перебора через диапазон значений.

Реляционные операторы Java

Реляционные операторы сравнивают два значения и возвращают логический результат (true или false). Они являются неотъемлемыми для принятия решений в вашем коде.

Равно (==)

int age = 18;
boolean canVote = (age == 18);
System.out.println("Can this person vote? " + canVote);

Вывод: Can this person vote? true

Оператор == проверяет, равны ли два значения.

Не равно (!=)

String weather = "sunny";
boolean stayInside = (weather != "sunny");
System.out.println("Should I stay inside? " + stayInside);

Вывод: Should I stay inside? false

Оператор != проверяет, не равны ли два значения.

Больше (>) и Меньше (<)

int playerScore = 85;
int highScore = 90;
boolean newHighScore = (playerScore > highScore);
System.out.println("New high score achieved: " + newHighScore);

Вывод: New high score achieved: false

Оператор > проверяет, больше ли левое значение правого, а < делает обратное.

Больше или равно (>=) и Меньше или равно (<=)

int requiredAge = 18;
int personAge = 18;
boolean canEnter = (personAge >= requiredAge);
System.out.println("Can the person enter? " + canEnter);

Вывод: Can the person enter? true

Эти операторы проверяют, больше/меньше ли значение или равно другому значению.

Логические операторы Java

Логические операторы позволяют комбинировать несколько условий.

И (&&)

boolean hasTicket = true;
boolean hasID = true;
boolean canAttendConcert = hasTicket && hasID;
System.out.println("Can attend the concert: " + canAttendConcert);

Вывод: Can attend the concert: true

Оператор && возвращает true только если оба условия истинны.

ИЛИ (||)

boolean isWeekend = true;
boolean isHoliday = false;
boolean canSleepIn = isWeekend || isHoliday;
System.out.println("Can sleep in: " + canSleepIn);

Вывод: Can sleep in: true

Оператор || возвращает true, если хотя бы одно условие истинно.

НЕ (!)

boolean isRaining = false;
boolean shouldTakeUmbrella = !isRaining;
System.out.println("Should take umbrella: " + shouldTakeUmbrella);

Вывод: Should take umbrella: true

Оператор ! инвертирует логическое значение.

Операторы присваивания

Мы уже использовали базовый оператор присваивания = в наших примерах. Но Java также имеет некоторые сокращенные операторы, которые комбинируют присваивание с другими операциями.

Присваивание с добавлением (+=)

int score = 0;
score += 10; // Это эквивалентно: score = score + 10;
System.out.println("Current score: " + score);

Вывод: Current score: 10

Другие операторы присваивания

Java также имеет -=, *=, /= и %= которые работают аналогично.

Приоритет и ассоциативность операторов Java

Так же, как и в математике, операторы Java имеют порядок приоритета. Например:

int result = 5 + 3 * 2;
System.out.println("Result: " + result);

Вывод: Result: 11

Умножение происходит перед сложением, как и в обычной математике.

Вот упрощенная таблица приоритетов операторов (от высокого к низкому):

Приоритет Оператор
1 * / %
2 + -
3 < > <= >=
4 == !=
5 &&
6
7 =

Помните, вы всегда можете использовать скобки, чтобы явно указать порядок операций:

int result = (5 + 3) * 2;
System.out.println("Result with parentheses: " + result);

Вывод: Result with parentheses: 16

И вот и все! Вы только что сделали свои первые шаги в мир операторов Java. Эти маленькие символы могут показаться простыми, но они являются строительными блоками всех ваших будущих удивительных созданий на Java. Практикуйтесь, и скоро вы будете комбинировать эти операторы, чтобы решать сложные задачи и создавать невероятные программы. Счастливого кодирования!

Credits: Image by storyset