gpt4 book ai didi

java - java 开头带有 default 子句的 switch 语句

转载 作者:行者123 更新时间:2023-12-03 06:27:31 36 4
gpt4 key购买 nike

以下代码打印出 1,2,3 ,如果我更改 int i = 3; 它将打印出 3 。我想知道这背后的原因。我使用了调试器,似乎如果 i = 3 它会转到情况 3 并打印出 3 然后程序终止。我相信当 i=5 时,它会转到 default ,这是否意味着 case 1、case 2 和 case 3 都属于 default 子句?

int i = 5;
switch(i){
default:
case 1:
System.out.println(1);
case 2:
System.out.println(2);
case 3:
System.out.println(3);

}

编辑:这个问题来自一个测试,它要求提供此代码的输出。所以我试图弄清楚为什么输出是 1,2,3,我理解需要 break; 但这不是我想要的答案。

最佳答案

  • i == 5与您的 case 中的任何一个都不匹配s,因此控制权转到 default条款。

  • default子句为空,没有 break声明,它立即falls throughcase下面 — case 1在你的代码中。

  • case 1打印"1"而且,因为它也没有 break语句,变为 case 2 , 等等。

<小时/>

case 1 , 2 , 3 不属于 default — 重要的是他们的顺序。

如果您要重新订购交换机 statement并会写 default作为最后一个子句,它不会打印任何内容。

关于java - java 开头带有 default 子句的 switch 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27912006/

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