谁来解释一下这个JAVA程序。。。

来源:百度知道 编辑:UC知道 时间:2024/04/16 13:43:55
public class E
{ public static void main (String args[])
{ char c='\0';
for(int i=1;i<=4;i++)
{switch(i)
{ case 1: c='b';
System.out.println(c);
case 2: c='e';
System.out.println(c);
break;
case 3: c='p';
System.out.println(c);
default: System.out.println("!");
}
}
}
}

答案是beep!!,想问是怎么来的。没看懂啊

在case中不写break;是不会跳出switch判断的,会继续执行符合条件下面的case(即使下面的case不符合)

我把程序简单改了一下,你看看输出,可能会帮助你理解:)

public class E {
public static void main(String args[]) {
char c = '\0';
for (int i = 1; i <= 4; i++) {
switch (i) {
case 1:
c = 'b';
System.out.println(c+" i="+i);//这里,输出当前i的值,i可以理解位第几次循环
case 2:
c = 'e';
System.out.println(c+" i="+i);//这里,输出当前i的值,i可以理解位第几次循环
break;
case 3:
c = 'p';
System.out.println(c+" i="+i);//这里,输出当前i的值,i可以理解位第几次循环
default:
System.out.println("!");
}
}
}
}

结果是:(注意i的值)
b i=1
e i=1
e i=2
p i=3
!
!