Как работает оператор switch?Это похоже на утверждение goto?или это идет для каждого случая и проверяет, какой случай является истинным?И затем выполняет истинное утверждение?
int month = 2;
int year = 2000;
int numDays = 0;
switch (month) {
case 1: case 3: case 5:
case 7: case 8: case 10:
case 12:
numDays = 31;
break;
case 4: case 6:
case 9: case 11:
numDays = 30;
break;
case 2:
if (((year % 4 == 0) && !(year % 100 == 0))|| (year % 400 == 0))
numDays = 29;
else
numDays = 28;
break;
default:
System.out.println("Invalid month.");
break;
}
System.out.println("Number of Days = " + numDays);
}
В коде мы можем видеть, что в скобках '()' мы дали переключателю переменную month.
Я хотел бы знать, вводит ли пользователь 2за месяц, то что происходит.
Переходит ли непосредственно к случаю 2 или оценивает все предыдущие случаи, т. е. (случай 1: случай 3: случай 5: случай 7: случай 8: случай 10: случай 12: случай 12:случай 4: случай 6: случай 9: случай 11 :) и затем он находит случай 2 и выполняет его?
Что он делает?