输出如何变成2?不明白

问题描述 投票:0回答:3

enter image description here

不知道答案如何变成2?

java switch-statement coding-style
3个回答
0
投票

[case条语句不通过break而“掉线”

case 7: result = 1;   // <-- no break, so
default: result += 1; // <-- happens after case 7

这是documented行为

另一个关注点是break语句。每个break语句终止封闭的switch语句。控制流从switch块之后的第一条语句继续。 break语句是必需的,因为没有它们,切换块fall through中的语句:匹配的case标签之后的所有语句将按顺序执行,而不管后续case标签的表达如何,直到遇到break语句为止] >


0
投票

由于在每种情况下都没有break;,因此您的case语句会失败并且无法退出循环。您的所有案例都将被应用,因此结果为result = 2


0
投票

您必须在每个break之后放置case语句。因此,将结果值设为1的等效代码是:

© www.soinside.com 2019 - 2024. All rights reserved.