Java中switch语句问题?请看问题补充;答案为什么不是7;为什么不是6;
publicclassSwich{publicstaticvoidmain(String[]args){System.out.println("value="+switc...
public class Swich {
public static void main(String[]args){
System.out.println("value="+switchlt(4));
}
public static int switchlt(int x){
int j=1;
switch(x){
case 1:j++;
case 2:j++;
case 3:j++;
case 4:j++;
case 5:j++;
default:j++ ;
}
return j+x;
}} 展开
public static void main(String[]args){
System.out.println("value="+switchlt(4));
}
public static int switchlt(int x){
int j=1;
switch(x){
case 1:j++;
case 2:j++;
case 3:j++;
case 4:j++;
case 5:j++;
default:j++ ;
}
return j+x;
}} 展开
展开全部
因为你语法写的有问题,它从4开始进去j++=2,到5的时候又进去了j++=3,然后再进default里,又j++=4,然后x是4,j也是4,这不是8吗。
switch不是这么用的,你这错误叫穿透,你百度穿透就明白了,我给您改了一下。
public static void main(String[] args) {
System.out.println("value=" + switchlt(4));
}
public static int switchlt(int x) {
int j = 1;
switch (x) {
case 1:
j++;
break;
case 2:
j++;
break;
case 3:
j++;
break;
case 4:
j++;
break;
case 5:
j++;
break;
default:
j++;
}
return j + x;
}
结果是6,这样语法是正确的!
2017-04-26
展开全部
case语句后没有break,default还是会执行j++ 执行了两次 j=3+x 所以等于7
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询