我只是想知道默认情况是否必须包含在Java的switch语句中。我了解包括默认案例是一种很好的做法。我问的原因是因为对于下面的代码,如果删除默认大小写,代码将提供错误。有人可以帮我澄清一下这个概念吗?在此先感谢您的帮助!
public class SwitchDemo {
public static void main(String[] args) {
int month = 8;
String monthString;
switch (month) {
case 1: monthString = "January";
break;
case 2: monthString = "February";
break;
case 3: monthString = "March";
break;
case 4: monthString = "April";
break;
case 5: monthString = "May";
break;
case 6: monthString = "June";
break;
case 7: monthString = "July";
break;
case 8: monthString = "August";
break;
case 9: monthString = "September";
break;
case 10: monthString = "October";
break;
case 11: monthString = "November";
break;
case 12: monthString = "December";
break;
default: monthString = "Invalid month"; //if delete will produce error
break;
}
System.out.println(monthString);
}
}
最佳答案
尽管default
子句不是强制性的,但如果将其删除,则monthString
可能不会初始化,因此,当尝试使用System.out.println(monthString);
打印它时,会出现编译错误。
如果在声明时给default
一个默认值,则可以删除monthString
子句。例如 :
String monthString = "Invalid month";
这将与当前的switch语句具有相同的行为,其中包括default子句。