Цель работы: изучить операции сравнения, логические операции, операторы передачи управления if, switch, break, научиться пользоваться простейшими компонентами организации переключений (СheckBox, RadioGroup). Написать и отладить программу с разветвлениями.
Общие теоретические сведения
Оператор условной передачи управления if
Для выбора одной из ветвей вычислений применяется оператор условного перехода:
if ( выражение ) оператор 1;
else оператор 2;
вычисляется выражение, и если его значение не равно 0 (истинно), то выполняется оператор 1, иначе – оператор 2, например:
if(x>y) max = x;
else max = y;
Если операторы 1, 2 содержат более одного оператора, то они заключаются в фигурные скобки { }, т.е. применяется блок.
Конструкция else … может отсутствовать и такую форму называют сокращенной, тогда в случае ложности условия управление передается на следующий за if оператор.
Если операторы 1, 2 в свою очередь являются операторами if, то такой оператор называют вложенным, при этом ключевое слово else принадлежит ближайшему предшествующему if.
Например, найти наибольшее значение из трех чисел x, y, z:
if (x>y)
if (x>z) max=x;
else max=z;
else if(y>z) max=y;
else max=z;
Операции сравнения: < (меньше), <= (меньше или равно), > (больше), >= (больше или равно), != (не равно), = = (равно). Пары символов разделять нельзя.
Операции сравнения бинарные, их общий вид:
Операнд 1 знак операции Операнд 2
Операндами операций сравнения могут быть данные любых базовых типов, значения которых перед сравнением преобразуются к одному типу.
Логические операции используются в качестве условий при составлении более сложных выражений. Приведем их перечень в порядке убывания приоритета:
! (отрицание или логическое НЕ – унарная операция), && (конъюнкция или логическое И), || (дизъюнкция или логическое ИЛИ).
Например: (0<x)&&(x<=100)
((!x)&&(y>0)||((z==1)&&(k>0))
Выражения вычисляются слева направо, причем их вычисление прекращается, как только результат становится известен.
Тернарная (условная) операция?:
Ее общая форма:
Операнд 1? Операнд 2: Операнд 3
Если значение операнда 1 истинно (не равно 0), то результатом операции является операнд 2, иначе – операнд 3.
Например, найти наибольшее из двух чисел: max = a>b? a: b;