Innanzitutto nello switch i vari 'case' e anche il 'default' sono semplicemente e solamente il
punto di ingresso. Una volta che si è entrati in un case/default, il codice fluisce tranquillamente fino: 1) ad un break o 2) alla fine fisica dello switch.
Quindi ad esempio:
int num = //.......
switch (num) {
case 3:
System.out.print("TRE ");
default:
System.out.print("DEF ");
case 1:
System.out.print("UNO ");
break;
case 2:
System.out.print("DUE ");
}
Se num vale 3, stampa
TRE DEF UNO
Mentre se vale 10, stampa
DEF UNO
Un case/default NON termina solo perché dopo c'è un altro case. Vale la regola del "Fall-Through", ovvero, ripeto, individuato il punto di ingresso, il codice fluisce verso il basso, passando eventualmente attraverso altri case fino a
break o
fine switch.
E una volta entrato in un case NON puoi saltare arbitrariamente in altri case. Salvo appunto per la regola del Fall-Through.
Ci può essere al massimo 1 default e non ci possono essere case con valore duplicato.
Queste sono le regole che devi sapere.