public class Cases{
public static void main (String[] arguments){
float x=9;
float y=5;
int z=(int)(x/y);
switch(z){
case 1:
x=x+2;
case 2:
x=x+3;
default:
x=x+1;
}
System.out.println("Value of "+x);
}
}
在下新人 ,刚学JAVA,搞不懂这个结果怎么是15.
int z=(int)(x/y);z值应该是1啊,x的值应该是11啊,15是怎么来的?
还有,刚开始学习JAVA用什么教材打基础好点,麻烦推荐推荐。

解决方案 »

  1.   

    程序case 1:
                    x=x+2;之后没有break , 继续执行.
      

  2.   

    public class Cases{
    public static void main (String[] arguments){
    float x=9;
    float y=5;
    int z=(int)(x/y);  //z=1,x=9
    switch(z){
    case 1:
    x=x+2;  //x=9+2=11,没有break , 继续向下执行. 
    case 2:
    x=x+3;  //x=11+3=14
    default:
    x=x+1;  //x=14+1=15 
    }
    System.out.println("Value of "+x);
    }
    }
      

  3.   

    上面两位已经解答的很好了,我也是新人,就推荐你一些资料吧
    网上可以搜索到北京圣思园JavaSE教学视频,讲的很详细
    另外教材嘛,可以结合大学教材看,至于那些Java思想跟Java核心技术,建议有一定基础后再去阅读,一定会受益匪浅的