def*_*alt 9 language-agnostic switch-statement
开关似乎没那么无用,因为它们可以用if-else语句替换,它可以做的不仅仅是匹配一个char/int/enum等.我只能想到一个很好用于一个开关,那将是解释命令线args.
switch语句有哪些实际用途?
Yad*_*ada 27
在某些情况下,交换机更易读并且派上用场.通常在您有选项分组时.
这是其中之一:
int numDays = 0;
int month = 2;
int year = 2010;
// find the number of days in the month
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;
}
Run Code Online (Sandbox Code Playgroud)
RHS*_*ger 25
在我看来,使用switch vs if/else有两个原因:
| 归档时间: |
|
| 查看次数: |
985 次 |
| 最近记录: |