Наблюдения за интересной Switch case
ловушкой -> fall through
из switch
"Операторы break необходимы, потому что без них операторы в блоках переключателей будут проходить:"
Пример Java Doc
Фрагмент последовательного case
без break
:
char c = 'A';/* switch with lower case */;
switch(c) {
case 'a':
System.out.println("a");
case 'A':
System.out.println("A");
break;
}
O / P для этого случая:
A
Но если вы измените значение c, то есть char c = 'a';
, тогда это будет интересно.
O / P для этого случая:
a
A
Несмотря на то, что второй тест не пройден, программа отправляет на печать A
из-за отсутствия break
, из-за которого switch
обрабатывает остальную часть кода как блок. Все операторы после соответствующей метки регистра выполняются последовательно.