Menu
Coddy logo textTech

Logical Operators Part 3

Часть раздела Основы путешествия по Java на Coddy. Урок 25 из 73.

При проверке нескольких условий компьютер прекращает проверку, как только узнает конечный ответ (Это называется вычислением по короткой схеме).

Например:

int x = 0;
int y = 5;
boolean result = x != 0 && y / x > 2;

Здесь x равно 0, поэтому выражение y / x > 2 вычисляться не будет. Если изменить порядок:

boolean result = y / x > 2 && x != 0;

Это приведет к ошибке, потому что y будет делиться на 0, что недопустимо в математике.

Этот приём используется для оптимизации вычисления логических выражений. Например:

int a = 0;
int b = 2;
int c = 3;
int d = 5;
boolean result = (a > 0 && b < 2) || (c < -5 && d < 10);

В этом примере b < 2 и d < 10 не будут вычисляться, так как a > 0 и c < -5 оба ложны.

challenge icon

Задание

Новичок

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

Инициализируйте следующие переменные:

  • isSunny со значением true
  • windSpeed со значением 5.4
  • temperature со значением 23
  • solarPanelOutput со значением 9
  • isCloudy со значением false

Создайте одно логическое выражение, которое проверяет ВСЕ эти условия:

  • Солнечно
  • Скорость ветра меньше 10
  • Выработка солнечной панели меньше 15
  • Температура выше 20 ИЛИ нет облаков

Попробуйте сами

public class Main {
    public static void main(String[] args) {
        // Инициализировать переменные
        // Замените каждое значение-заполнитель ниже на значение, которое требует задание
        boolean isSunny = false;
        double windSpeed = 0.0;
        int temperature = 0;
        int solarPanelOutput = 0;
        boolean isCloudy = false;

        // Полное логическое выражение
        // Замените заполнитель ниже одним выражением, которое объединяет все четыре условия
        boolean result = false;

        // Не удаляйте строки ниже
        System.out.println("Checking conditions for solar energy production...");
        System.out.println("1. Is it sunny? " + isSunny);
        System.out.println("2. Is wind speed safe? " + (windSpeed < 10));
        System.out.println("3. Can panels produce more? " + (solarPanelOutput < 15));
        System.out.println("4. Is temperature good OR no clouds? " + (temperature > 20 || !isCloudy));
        System.out.println("\nFinal result - Good day for solar energy production: " + result);
    }
}
quiz iconПроверьте себя

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

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор Java