我只是想知道 default case 是否必须包含在 Java 的 switch 语句中。我知道包含默认案例是一种很好的做法。我问的原因是因为对于下面的代码,如果我删除 default case,代码将提供错误。有人可以帮我澄清这个概念吗?在此先感谢您的帮助!
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 子句。
关于java - default case 必须包含在 Java 的 switch 语句中吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36396855/