问题:下面程序的运行结果是什么? public class Switch应用{ public static void main(String[]args){ int i=9; switch(i){//从上至下执行语句,直至执break 语句,退出程序块 case0:System.out.print("zero"); break; default:System. out.print("default"); case 1:System. out. print("one"); case 2:System. out. print("two");
时间: 2023-05-25 08:01:18 浏览: 72
答:运行结果是"onetwo"。原因是 switch 语句会从上至下依次执行 case 中的语句,直到执行到 break 语句或者 switch 语句结束为止。在这个程序中,由于没有在第一个 case 中加入 break 语句,所以接下来的几个 case 语句也会被执行。因此,程序会打印出 "one" 和 "two"。如果加上 break 语句,则只会打印 "zero"。
相关问题
下列程序运行后输出的结果是 public class Test { public static void main(String{] args) int a = 0; while (a < 10) ‹ switch (a) f case O: case 1: a = a + 2: case 2: case 3: a = a + 3; break; default:a = a + 5;
这段代码是无法通过编译的,因为其中有多处语法错误。下面是修正后的代码:
```java
public class Test {
public static void main(String[] args) {
int a = 0;
while (a < 10) {
switch (a) {
case 0:
case 1:
a = a + 2;
break;
case 2:
case 3:
a = a + 3;
break;
default:
a = a + 5;
break;
}
}
System.out.println(a);
}
}
```
上述代码的输出结果是 15。
以下代码的运行结果是什么? public class tt{ public static void main (string args[]){ tt t = new tt(); t.test(2);//可改变成3运行一下看一下结果 } void test(int i){ switch (i){ default: system.out.println("default"); case 1: system.out.println("111"); break; case 2: system.out.println("222"); break; } } }
该代码的运行结果为:
```
222
```
因为在 `test` 方法中,传入参数为 2,所以会匹配到 `case 2` 分支,输出结果为 "222"。在 `switch` 语句中,如果没有匹配到任何一个 `case` 分支,会执行 `default` 分支中的代码。但是在该代码中,`default` 分支被放在了 `case 1` 分支的前面,因此即使传入参数为 1 或者其他值,也会先执行 `case 1` 分支中的代码,再执行 `default` 分支中的代码。