一个switch语句搞不大明白

来源:百度知道 编辑:UC知道 时间:2024/05/24 21:58:57
代码如下:
class Breakdemo{
public static void main(String[] args){
int i=1;
String str="今天是";
switch (i){
case 1 :
str+="a";
case 2 :
str+="b";
case 3 :
str+="c";
case 4 :
str+="d";
case 5 :
str+="e";
case 6 :
str+="f";
case 7 :
str+="g";

}
System.out.println(str);
}
}
按理说i=1,应该显示"今天是a",可我在运行后怎么显示"今天是abcdefg"
如果把i值该为2,显示"今天是"bcdefg",改3,改4就相对应的为"今天是cdefg","今天是defg".

汗,你不是写着Breakdemo,case不加break会一直往下走啊,和C是一样的。

你没有加BREAK...都会执行的
每个str+="*";后面都加上break;

每个case从句记得加上break;

switch (i){
case 1 :
str+="a";
break;
case 2 :
str+="b";
break;
case 3 :
str+="c";
break;
case 4 :
str+="d";
break;
case 5 :
str+="e";
break;
case 6 :
str+="f";
break;
case 7 :
str+="g";
break;//最后一个加不加无所谓

}

因为没有break,所以语句会顺序向下依次执行

忘记加break;