Java 关于Switch语句的解释 公共类g{ 公共静态void main(字符串[]args){ 对于(int x=1;x
从Java 关于Switch语句的解释 公共类g{ 公共静态void main(字符串[]args){ 对于(int x=1;x,java,Java,从1开始,3s内开始上升(x+=3) 所以你得到了案例1,案例4,案例7,案例10,案例13,案例16 但是您并不总是有中断s,因此在某些情况下会进入下一个案例 这就是为什么案例1实际上给出了“breezeyayas”,它在捕捉到中断之前第一次运行案例1,2,3和4,当x=1它打印Breeze,但由于没有中断语句,所以它会在到达最终系统之前继续打印Easy和as;您将在控制台中获得breezeyayas,然后它以类似的方式运行(每次递增+3) 因此,下一次:x=4它将打印为查找断点,然后再次递增
1
开始,3s内开始上升(x+=3
)
所以你得到了案例1,案例4,案例7,案例10,案例13,案例16
但是您并不总是有中断
s,因此在某些情况下会进入下一个案例
这就是为什么
案例1
实际上给出了“breezeyayas”,它在捕捉到中断之前第一次运行案例1,2,3和4
,当
x=1
它打印Breeze
,但由于没有中断语句,所以它会在到达最终系统之前继续打印
Easy
和as
;您将在控制台中获得breezeyayas
,然后它以类似的方式运行(每次递增+3)
因此,下一次:
x=4
它将打印为
查找断点,然后再次递增3
当
x=7
它打印No
未发现中断
并打印问题
(因此控制台输出显示NoProblem
)希望您能找出其余的问题以下是关于您可能受益的开关盒结构的一些要点
- 开关箱是一种特殊的结构,在某些情况下可代替其它结构
- 在主要编程语言(java、c++)中,只有原语,
可以切换枚举数
- case只表示一个锚点(或所谓的标签),因此只使用原语,因为在编译时必须知道跳转标签
- 因为case keywork实际上代表一个跳转点,所以不会导致
像if-else语句一样进行分支
- 开关执行跳跃部分(就像一些旧游戏中使用的转到)
(编程语言)
- 由于它是通过跳转执行点来工作的,因此必须将中断设置为
关键字在您认为您已处理完案例时
- 如果不放断符,执行将继续
- 默认值关键字表示所有未处理的案例,通常用于检测未处理的案例
在你的例子中,你认为你的x增加了3,而且没有<强>默认< /强>。让我们考虑x=7;在这种情况下,执行将跳转到<强> 7:并继续执行直到它达到一个中断,从而执行所有的事情直到<强>外壳9 <强>下一个中断。< /P>你可以运行执行代码。在调试模式下,使用适当的断点可以知道到底发生了什么。只需使用逐行调试器。非常简单。“打印默认值”您甚至没有default
大小写。我是初学者,我使用geany,所以我不知道如何使用逐行调试器:|首先要有一个好的用户名:)
public class g{
public static void main(String [] args){
for(int x = 1; x <17; x +=3){
switch(x){
case -1: case 0: case 1:
System.out.print("Breeze");
case 2: System.out.print("Easy");
case 3:
case 4: System.out.print("As"); break;
case 5: System.out.print("Pie"); break;
case 6: case 7: System.out.print("No");
case 8: System.out.print("Problem");
case 9: break;
case 10: System.out.print("Like");
case 12: System.out.print("Nothing"); break;
case 13:
case 14: System.out.print("phew"); break;
}
System.out.println();
}
}
}