此问题已在此处找到答案:
为什么我们需要在案件陈述后休息((17个答案)
5年前关闭。
我在网上学习java,来到了关于交换机的课程。为了胡闹,我在一个特定的案例(将被执行)之后删除了一个中断。我原以为它会检查下一个案例,查看条件是否为false,然后在退出之前跳到默认案例。相反,它执行了错误的案例,并在默认案例之前中断。
这里出了什么问题?
public class Switch {
public static void main(String[] args) {
char penaltyKick = 'R';
switch (penaltyKick) {
case 'L': System.out.println("Messi shoots to the left and scores!");
break;
case 'R': System.out.println("Messi shoots to the right and misses the goal!");
case 'C': System.out.println("Messi shoots down the center, but the keeper blocks it!");
break;
default:
System.out.println("Messi is in position...");
}
}
}
编辑:忘了提了。结果是:
Messi shoots to the right and misses the goal!
Messi shoots down the center, but the keeper blocks it!
1条答案
按热度按时间lymgl2op1#
如果你有一个失踪的
break
,执行将持续到下一个月case
没有再次检查情况。请看这里:break语句是必需的,因为如果没有它们,开关块中的语句就会失效:匹配的case标签之后的所有语句都会按顺序执行,而不管后续case标签的表达式如何,直到遇到break语句为止。