Я готовлю пример OCA Java SE 7. Вопрос о распределительном высказывании: вот код:Оператор switch Java SE 7, когда будет выполняться случай по умолчанию?
int a = 5;
switch(a){
default: //print 0
case 1: //print 1
case 5: //print 5
case 8: //print 8
}
что выход коды? Вот что я не понимаю: По умолчанию обычно будет последнее условие. Что, если по умолчанию первое условие? будет ли первый случай совпадать по умолчанию?
еще один шаг: Если я изменю код, сделайте i = 10, что, безусловно, не будет соответствовать остальному состоянию 3, но будет соответствовать условию по умолчанию. Учитывая, что нет перерыва; в моем коде выйдет программа: 0 1 5 8 ??
обновление Я не думаю, что я утверждаю, мой вопрос ясный ... Как было предложено, я попробовал его с кодом, и я понимаю, правила о падении через.
И если я = 10, то результат будет: 0 1 5 8.
, что меня смутило, что: если я = 10
и когда мы вступаем переключатель заявление, в котором линия выполнена первый?
по умолчанию: // печать 0
или
случай 1: // печать 1
обновление обновление спасибо, ребята ... Я думаю, что я понимаю ...
случай по умолчанию будет срабатывать только тогда, когда совпадений нет.
Что означает в этом случае последовательность выполнения должна быть:
case 1:
case 5:
case 8:
//and no found yet..trigger the default case
// given that my default case is at the top and no break;
//it fall through and print: 0 1 5 8
FYI: Я знаю, как запустить код. И я не ожидал такого огромного количества критических замечаний, говорящих, что «сделай это сам», «не просто читать и не практиковать».
в любом случае, спасибо.
не является его довольно легко попробовать это и посмотреть на себя? Предполагая, что вы меняете '// print' на' System.out.println() '; –
http://docs.oracle.com/javase/specs/jls/se7/html/jls-14.html # d5e16570 говорит, что разрыв не приведет к провалу. Ознакомьтесь с остальной частью раздела, чтобы просмотреть информацию о 'default' в операциях' switch'. –
просто продолжайте проверять его, он не сломает ваш компьютер. btw никакой оператор break в любом случае не выполнит все случаи. – Setu