日期:2014-05-20  浏览次数:20725 次

一个简单的java程序,搞不懂!
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用什么教材打基础好点,麻烦推荐推荐。

------解决方案--------------------
程序case 1:
                x=x+2;之后没有break , 继续执行.
------解决方案--------------------
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);
}
}

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