java吧 关注:1,261,691贴子:12,761,008
  • 8回复贴,共1

高手勿进 int转向double型疑问。

只看楼主收藏回复

程序:
public class ToChange{
public static void main(String args[]){
int a=3,b=4; double z;
z=(a+b)/2;
System.out.println("这个结果是:"+z);
}
}
结果为什么是:3.0?
而不是3.5?


1楼2012-05-08 22:47回复
    高手来了。。


    2楼2012-05-08 22:49
    回复
      2025-05-29 14:05:30
      广告
      低级向高级看齐。double高于int所以有小说点


      IP属地:安徽来自手机贴吧3楼2012-05-08 22:49
      回复
        抱歉我看错了。应该先看a+b括号/2,是个整数,所以是3.0,再把整个表达式值给 z.我个人理解,手机打字不方便,抱歉


        IP属地:安徽来自手机贴吧4楼2012-05-08 22:53
        回复
          该代码实际执行情况是:z= (double) ((a+b)/2);
          int型


          IP属地:广东5楼2012-05-08 22:54
          回复
            说滴狠详细


            IP属地:湖北来自掌上百度7楼2012-05-09 07:36
            回复
              对啊。是这样的。呵呵。


              8楼2012-05-10 22:30
              回复
                嗯。对啊。


                9楼2012-05-10 22:31
                回复
                  2025-05-29 13:59:30
                  广告
                  明白了。


                  10楼2012-05-10 22:32
                  回复