Записки программиста Программирование и не только

10Сен/120

[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;
}
Комментарии (0) Пинги (0)

Пока нет комментариев.


Leave a comment

Нет обратных ссылок на эту запись.