java吧 关注:1,234,552贴子:12,701,487
  • 9回复贴,共1

菜鸟求解!

只看楼主收藏回复

为什么
double i = 3 / 2;
打印出来是
1.0
为啥不是0.5
int i = 3 / 2;
打印出来是
1 我能理解
还有
3/2 与 3 / 2 有什么区别 首选哪个好


IP属地:河北来自Android客户端1楼2013-05-13 10:43回复
    / 只取整数部分,你想要小数部分用%


    IP属地:广东来自Android客户端2楼2013-05-13 11:07
    收起回复
      那两个没区别,代码习惯而已,我就喜欢加空格,感觉看起来舒服一点,不是那么乱


      IP属地:广东来自Android客户端3楼2013-05-13 11:09
      回复
        3%2 = 1


        IP属地:北京4楼2013-05-13 11:25
        回复
          3是int
          2是int
          3/2出来的int
          你这句代码相当于int a = 3/2;
          double i = a;
          如果你把3和2之中一个改成double,相除出来才会带小数点
          比如:double i = 3.0 / 2;


          IP属地:浙江5楼2013-05-13 13:35
          收起回复
            (double)3/(double)2
            这样就好啦


            IP属地:辽宁6楼2013-05-13 14:25
            回复
              double i = 3.0 / 2;
              或者
              double i = 3 / 2.0;


              7楼2013-05-13 14:29
              回复
                理解下类型转换和运算符/ 以及%就可以了。


                8楼2013-05-14 09:56
                回复