Sae*_*san 3 java double casting
我想知道之间的区别
System.out.print((double)1/2);
System.out.print((double)(1/2));
Run Code Online (Sandbox Code Playgroud)
我得到的第一个答案是 0.5 ,但第二个答案给出 0.0 。提前致谢。
(double)(1/2)首先计算1/2,得到0(int 除法),然后将结果转换为double( 得到0.0)。
(double)1/2首先转换1为double,然后除以1.0(2浮点除法),得到0.5. 这相当于1.0/2或1/2.0。