Зарегистрируйтесь, чтобы продолжить обучение

Комбинирование операций и методов Основы Java

Логические операции — это выражения. Значит, логические операции можно комбинировать с другими выражениями. Разберем на примере. Допустим, мы хотим проверить четность числа. В программировании четность проверяется через остаток от деления на 2:

  • Если остаток 0, то число было четным
  • Если остаток не 0, то число было нечетным

Остаток от деления — простая, но очень важная концепция в арифметике, алгебре, теории чисел и криптографии. Идея проста: нужно разделить число на несколько равных групп. Если в конце что-то останется, это и есть остаток от деления.

Делим конфеты поровну между людьми:

  • 7 конфет, 2 человека: 2 x 3 + остаток 1. Значит, 7 не кратно 2
  • 21 конфету, 3 человека: 3 x 7 + остаток 0. Значит, 21 кратно 3
  • 19 конфет, 5 человек: 5 x 3 + остаток 4. Значит, 19 не кратно 5

В коде остаток вычисляется с помощью оператора %:

  • 7 % 21
  • 21 % 30
  • 19 % 54

С помощью него напишем метод для проверки четности:

// Определен в классе App
public static boolean isEven(int number) {
    return number % 2 == 0;
}

App.isEven(10); // true
App.isEven(3); // false

В одном выражении мы скомбинировали два оператора:

  • == — проверка равенства
  • % — арифметический оператор остатка от деления

Приоритет арифметических операций выше логических. Значит, сначала вычисляется арифметическое выражение number % 2, затем результат участвует в логическом сравнении.

По-русски это можно расшифровать так: «Нужно вычислить остаток от деления числа number на 2 и сравнить с нулем; затем вернуть результат сравнения».

Рассмотрим еще один пример. Напишем метод, который принимает строку и проверяет, заглавная ли первая буква. Алгоритм действий будет такой:

  1. Получим и запишем в переменную первый символ из строки-аргумента
  2. Сравним, равен ли символ своей заглавной версии
  3. Вернем результат

А так будет выглядеть реализация в коде:

public static boolean isFirstLetterInUpperCase(String string) {
    var firstLetter = string.charAt(0);
    // Класс Character содержит различные методы для работы с символом
    // Метод isUpperCase() проверяет, что переданный символ в верхнем регистре
    return Character.isUpperCase(firstLetter);
}

App.isFirstLetterInUpperCase("marmont"); // false
App.isFirstLetterInUpperCase("Robb"); // true

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff