gpt4 book ai didi

Java - Switch 语句和大括号

转载 作者:搜寻专家 更新时间:2023-11-01 01:51:28 25 4
gpt4 key购买 nike

我有一个与 switch-case block 中的花括号相关的问题

 switch( conditon ) { 

case val1: {
// something
}
break;
case val2: {
// something
}
break;
default:
break;
}

或者像这样的东西:

 switch( conditon ) { 

case val1: {
// something
break;
}
case val2: {
// something
break;
}
default:
break;
}

A 我知道这两个代码应该以相同的方式工作,但我认为这里有一些不合理之处。由于 break 应该导致从花括号 block 中跳出,所以理论上第二个代码应该像这样平滑:1. break course 跳出街区2. switch 继续执行 case val2 或 default 导致大括号外没有任何 break 语句。

您推荐使用哪个版本,它们的工作方式真的一样吗?

最佳答案

试试这个:

{
System.out.println("A");
break;
System.out.println("B");
}

你会看到

$ javac Y.java 
Y.java:35: error: break outside switch or loop
break;
^
1 error

这意味着:你不能在 block 中使用它,它与 block 结合没有任何效果。

我不会将 break 放在 block 外,但我从未见过任何一种编码规则都要求如此(你可以为双方提出论据)。也许这是因为 block 不是很频繁地用于分隔每个开关分支的可见性。

关于Java - Switch 语句和大括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29275228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com