求下面两行代码的区别

img

img

比如,R都是1的话,这两个V算出来的结果是什么,
这两个有什么区别啊?

回答:

img


import java.util.*;

public class Test{                    
    
    public static void main(String[] args) {    
                        
        float R=1;
        float V1=(float)(4/3*Math.PI*R*R*R);
        float V2=(float)(4*Math.PI*R*R*R)/3;
        
        System.out.println(V1);
        System.out.println(V2);
        
        System.out.println(new Date());
    }    
}


这里的4/3,默认为int型,出现了偏差

数据类型和计算精度