Модуль: Вложенный условный оператор. Сложные условия


Вложенный условный оператор

В блоки «если» и «иначе» могут входить любые другие операторы, в том числе и другие вложенные условные операторы; при этом оператор else относится к ближайшему предыдущему if

Например 
if ( A > 10 )
  if ( A > 100 )
    System.out.print("У вас очень много денег.");
  else
    System.out.print("У вас достаточно денег.");
else
    System.out.print("У вас маловато денег.");
Чтобы легче разобраться в программе, все блоки «если» и «иначе» (вместе с ограничи вающими их скобками) сдвигаются вправо на 2-3 символа - такая запись называется запись «лесенкой»
Запись "лесенкой" является хорошим тоном любого программиста!

Задача для тренировки:

Вложенный условный оператор

Сложные условия

Предыдущую задачу можно решить более коротким способом, используя сложные условия. 

Давайте разберемся, что такое СЛОЖНЫЕ УСЛОВИЯ

Простейшие условия состоят из одного отношения (больше, меньше и т.п.) Но иногда необходимо объединение простых условий в более сложные, например: на улице холодно и идет дождь. Два простых условия (на улице холодно), (на улице идет дождь) здесь связаны связкой И.

СЛОЖНОЕ УСЛОВИЕ - состоит из двух или нескольких простых отношений (условий), которые объединяются с помощью логических операций
  И - логическое умножение - на языке Java записывается как && (или and)
  ИЛИ - логчиеское умножение - на языке Java записывается как || (или or)
  НЕ - логчиеское умножение - на языке Java записывается как 

Операция И - требует одновременное выполнение двух условий
  условие 1 && условие 2   - будет принимать истинное значение, только если оба простых условия истинны одновременно
причем, в языке программирования Java - если условие 1 ложно, то условие 2 проверяться не будет

Операция ИЛИ - требует выполнение хотя бы одного из условий
  условие 1 ||  условие 2   - будет принимать ложное значение, только если оба простых условия ложны одновременно
причем, в языке программирования Java - если условие 1 истинно, то условие 2 проверяться не будет

Операция НЕ 
 ! условие 1 - будет принимать ложное значение, условие 1 истинно и наоборот
Например, следующие два условия равносильны:   A>B     и    !(A<=B)

ПРИОРИТЕТ ВЫПОЛНЕНИЯ ЛОГИЧЕСКИХ ОПЕРАЦИЙ И ОТНОШЕНИЙ
1 операции в скобках
2 операция НЕ
3 логические отношений >, <, >=, <=, ==, !=
4 операция И
5 операция ИЛИ
Для изменения порядка действий используются круглые скобки

ЛОГИЧЕСКИЕ ПЕРЕМЕННЫЕ
Во многих языках программирования есть возможность использовать переменные, которые хранят логические значения ("истина"/"ложь"). В С++ такие переменные могут принимать значения true (истина) или false (ложь). Например, фрагмент программы 

boolean a, b;
a = true;
b = false;
System.out.print(a || b);
Выведет на экран 1 (что соответствует значению true, значению false соответствует 0).
Логические переменные относятся к типу bool, названной в честь английского математика Джорджа Буля - создателя алгебры логики.

Задача для тренировки:

Сложные условия