Каким будет результат выполнения следующего кода?

for(int i = 0 ; i < 4 ; ) {
    switch(new Integer(i++)) {
        case 1:
            System.out.print("one ");
            break;
        case 3:
            System.out.print("three ");
        case 4:
            System.out.print("four ");
         default:
            System.out.print("def ");
    }
}
Explanation

Выполняется четыре итерации цикла:
при i = 0 выводится def
при i = 1 выводится one
при i = 2 выводится def
при i = 3 выводится three four def

Из-за постфиксной формы записи i++ в switch проверяется исходное значение, а отсутствие break в ветках для case 3, case 4 приводит к тому, что они выполняются без остановки.


Следи за CodeGalaxy

Мобильное приложение Beta

Get it on Google Play
Обратная Связь
Продолжайте изучать
тесты по Java
Cosmo
Зарегистрируйся сейчас
или Подпишись на будущие тесты