[Java] Урок 3. Условные операторы
- if-else
- break
- switch
1. if-else
Никаких подводных камней. Всё по классике.
if (<логическое выражение>) <оператор 1>; [ else <оператор 2>;]
Раздел else необязателен. На месте любого из операторов может стоять составной оператор, заключенный в фигурные скобки. Логическое выражение — это любое выражение, возвращающее значение типа boolean.
2. break
При обычном использовании служит для прерывания циклов или для выхода из составного условия (switch).
for(;;) {
if(t)
break;
}
Так же может использоваться для выхода из именованных блоков.
a: {
b: {
c: {
System.out.println("Перед break");
if (t)
break b;
System.out.println("Блок c");
}
System.out.println("Блок b");
}
System.out.println("Блок a");
}
В данном примере оператор break b; сообщает среде исполнения, что необходимо выйти из блока b: и начать выполнять следующий блок. Соответственно сообщения "Блок c" и "Блок b" распечатаны не будут, а будет распечатано сообщение "Блок a"
Это может быть похоже на оператор goto, но тут есть одно существенное отличие - можно использовать оператор break только для перехода за один из текущих вложенных блоков. Переход в произвольный блок недопустим.
3. switch
switch (<выражение>) {
case <значение 1>:
<оператор 1>;
break;
case <значение 2>:
<оператор 2;
break;
case <значение 3>:
<оператор 3;
break;
default:
<оператор 4>;
}
Результатом вычисления выражения может быть значение любого простого типа, при этом каждое из значений, указанных в операторах case, должно быть совместимо по типу с результатом выражения. Все эти значения должны быть уникальными.
Если же значению выражения не соответствует ни один из case, управление передается коду, расположенному после ключевого слова default. Оператор default необязателен.
Внутри switch оператор break приводит к передаче управления на код, стоящий после оператора switch. Если break отсутствует, после текущего раздела case будет выполняться следующий.
switch (month) {
case 12:
case 1:
case 2:
season = "Winter";
break;
case 3:
case 4:
case 5:
season = "Spring";
break;
}
Нет обратных ссылок на эту запись.
Leave a comment