加减乘除计算,会先统一操作数的精度,其规则是先统一成精度高的数。double型/int型、int型/double型,最后都转成double型/double型。

解决方案 »

  1.   

    (double)a / b;的优先级是先把a转换为double类型
      

  2.   

    int转换成double类型最后变成double,(double)a / b;意思是将a转换成double类型然后再与b进行相除,先后顺序是先知心括号中的再执行运算
      

  3.   


            int a = 10;
            int b = 3;
            double c= a / b;//c = (10/3) = (double)3 = 3.0
            System.out.println(c);        int a = 10;
            int b = 3;
            double c= (double)a / b;//c = (10.0/3) = 3.333333
            System.out.println(c);
      

  4.   

     double c= a / b; //将a/b的结果转double型
     double c= (double)a / b; //先将a转double型,再做运算
    6楼的例子说明的很清楚了
      

  5.   


            int a = 10;
            int b = 3;
            double c= a / b;//c = (10/3) = (double)3 = 3.0
            System.out.println(c);
            int a = 10;
            int b = 3;
            double c= (double)a / b;//c = (10.0/3) = 3.333333
            System.out.println(c);
      

  6.   

    (double)a优先级较高,
    double/int的话是要先都转成double再计算