Оператор switch долгое время не использовался.
Первоначальная идея заключалась в том, чтобы иметь систему точек входа; goto
-подобное утверждение, которое работало так:
If my value is 1; goto 1;
Else If my value is 2; goto 2;
Else If my value is 3; goto 3;
Else If goto default;
label 1 : ...;
label 2 : ...;
label 3 : ...;
label default : ...;
И людям начала нравиться эта система, и они решили, что это будет лучше, чем множество утверждений if / else. Поэтому они использовали небольшую хитрость, break;
И теперь люди действительно наслаждаются переключателем как заменой if / else, ломая каждый случай переключателя.
Чтобы иметь действительно хороший пример оригинального оператора switch, у вас должно быть что-то вроде этого:
public void printDaysLeftUntilNextMonday(){
switch(dayOfWeek){
case 1 :
System.out.println("Monday");
case 2 :
System.out.println("Tuesday");
case 3 :
System.out.println("Wednesday");
case 4 :
System.out.println("Thursday");
case 5 :
System.out.println("Friday");
case 6 :
System.out.println("Saturday");
case 7 :
System.out.println("Sunday");
}
}
У меня был реальный случай использования в день (редкая вещь, если вы не злоупотребляете перерывом; в переключателе) это было в палаче.
public void printHangman(){
switch(triesLeft){
case 1 :
printLeftLeg();
case 2 :
printRightLeg();
case 3 :
printLeftArm();
case 4 :
printRightArm();
case 5 :
printBody();
case 6 :
printHead();
}
}