Logo
Книга для начинающих
ВходРегистрация
/
Программирование
/
Курс Java
/

Логический тип

Java: Логический тип

Кроме арифметических операций, из школьной математики нам известны еще и операции сравнения, например:

5 > 4

Это звучит как вопрос: «Пять больше четырех?». В данном случае, ответ «да». В других случаях, ответом может быть «нет», например, для такого выражения:

3 < 1

Операции сравнения не имеют привязки к числам. Сравнивать можно практически что угодно — например, строки. Когда мы входим на какой-то сайт, внутри происходит сравнение введенного логина и пароля с теми, какие есть в базе. Если совпадение есть, то происходит авторизация.

Языки программирования адаптировали все математические операции сравнения практически в неизменном виде. Единственное серьезное отличие – операторы равенства и неравенства.

В математике для этого используется обычное равно =, но в программировании такое встречается нечасто. Во многих языках символ = используется для присваивания значений переменным, поэтому для сравнения взяли ==.

Список операций сравнения в Java:

  • < — меньше
  • <= — меньше или равно
  • > — больше
  • >= — больше или равно
  • == — равно
  • != — не равно

Посмотрим на пару примеров логических операций:

5 > 4
password == text

Оба примера — это выражения. Результат вычисления этих выражений — это одно из двух специальных значений

  • true — «истина»
  • false— «ложь»

Это новый для нас тип данных — boolean. Он содержит всего лишь два этих значения. Так выглядит пример кода с ним:

var result = 5 > 4;
System.out.println(result); // => true

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

// Метод, возвращающий boolean, называется предикатом
// Обычно такие методы имеют префикс has, can, is, was и так далее
public static boolean isInfant(int age) {
    return age < 1;
}

Пользуемся тем фактом, что любая операция — это выражение. Поэтому единственной строчкой функции пишем «вернуть то значение, которое получится в результате сравнения age < 1».

В зависимости от пришедшего параметра, сравнение будет либо истинным (true), либо ложным (false). В итоге return вернет этот результат:

System.out.println(App.isInfant(3)); // => false
System.out.println(App.isInfant(0)); // => true

Задание

Реализуйте метод isPensioner(), который принимает один параметр — возраст человека, и проверяет, является ли он пенсионным. Пенсионером считается человек, достигший возраста 60 лет и больше.

Примеры вызова:

App.isPensioner(75); // true
App.isPensioner(18); // false
Коммерческий опыт и Трудоустройство

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются
/
Программирование
/
Курс Java
/

Логический тип

Java: Логический тип

Кроме арифметических операций, из школьной математики нам известны еще и операции сравнения, например:

5 > 4

Это звучит как вопрос: «Пять больше четырех?». В данном случае, ответ «да». В других случаях, ответом может быть «нет», например, для такого выражения:

3 < 1

Операции сравнения не имеют привязки к числам. Сравнивать можно практически что угодно — например, строки. Когда мы входим на какой-то сайт, внутри происходит сравнение введенного логина и пароля с теми, какие есть в базе. Если совпадение есть, то происходит авторизация.

Языки программирования адаптировали все математические операции сравнения практически в неизменном виде. Единственное серьезное отличие – операторы равенства и неравенства.

В математике для этого используется обычное равно =, но в программировании такое встречается нечасто. Во многих языках символ = используется для присваивания значений переменным, поэтому для сравнения взяли ==.

Список операций сравнения в Java:

  • < — меньше
  • <= — меньше или равно
  • > — больше
  • >= — больше или равно
  • == — равно
  • != — не равно

Посмотрим на пару примеров логических операций:

5 > 4
password == text

Оба примера — это выражения. Результат вычисления этих выражений — это одно из двух специальных значений

  • true — «истина»
  • false— «ложь»

Это новый для нас тип данных — boolean. Он содержит всего лишь два этих значения. Так выглядит пример кода с ним:

var result = 5 > 4;
System.out.println(result); // => true

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

// Метод, возвращающий boolean, называется предикатом
// Обычно такие методы имеют префикс has, can, is, was и так далее
public static boolean isInfant(int age) {
    return age < 1;
}

Пользуемся тем фактом, что любая операция — это выражение. Поэтому единственной строчкой функции пишем «вернуть то значение, которое получится в результате сравнения age < 1».

В зависимости от пришедшего параметра, сравнение будет либо истинным (true), либо ложным (false). В итоге return вернет этот результат:

System.out.println(App.isInfant(3)); // => false
System.out.println(App.isInfant(0)); // => true

Задание

Реализуйте метод isPensioner(), который принимает один параметр — возраст человека, и проверяет, является ли он пенсионным. Пенсионером считается человек, достигший возраста 60 лет и больше.

Примеры вызова:

App.isPensioner(75); // true
App.isPensioner(18); // false
Коммерческий опыт и Трудоустройство

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются
← ПредыдущийСледующий →
← ПредыдущийСледующий →
← ПредыдущийСледующий →

Ваше упражнение проверяется по этим тестам

import static org.assertj.core.api.Assertions.assertThat;

class Test {
    public static void main(String[] args) {
        assertThat(App.isPensioner(70)).isTrue();
        assertThat(App.isPensioner(50)).isFalse();
        assertThat(App.isPensioner(60)).isTrue();
        assertThat(App.isPensioner(59)).isFalse();
    }
}
← ПредыдущийСледующий →

Решение учителя откроется через:

20:00

waiting_clock
← ПредыдущийСледующий →