如何在a / b
中进行转换public static void main(String[] args)
{
int a = 5,b=2;
float c;
c=a/b;
System.out.println(c);
c=(float)a/b;
System.out.println(c);
}
答案 0 :(得分:3)
答案在于理解尽管将c
声明为float
,但仍然会使用a/b
进行整数除法。 Java中的整数除法会截断任何小数部分(因此它可以保持为int
)。只有这样,它才会在分配到float
后隐式转换为c
,并且会打印2.0
。
float
中(float)a/b
的投射会将a
更改为5.0f
,并在将结果分配给c
之前强制浮点除法,所以正确结果2.5
已打印。
答案 1 :(得分:0)
在第一个语句中,计算a/b
。由于两个变量都是整数,因此结果也是整数:2
。在您的第二个声明中,a
首先转换为float
,然后除以b
。由于其中一个值为float
,因此结果为float
:2.5
。
答案 2 :(得分:0)
第一个分区是int / int - >结果。 第二个是Float / int, - >浮动结果。