问答详情
源自:3-8 Java中运算符的优先级

优先级别 和强制转换的问题!

double x =(5*8/(7+2))%5;  输出 4.0 double x =(5*8/(7.0+2))%5 输出 4.4444444444444 double x =(doubie)5*8/(7+2)%5  输出4.44444444 为什么会这样呢?

提问者:zhujinbobobo 2015-01-31 23:29

个回答

  • 诗雨若枫
    2015-02-01 08:48:51

    主要是/操作符两边的类型问题,  

     (5 * 8/(7 + 2)) = (40 / 9) = 4

      (5 * 8/(7.0 + 2)) = (40 / 9.0) = 4.4444444