我测试了这两个代码:
1)
double b = 1 / 2;
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
System.out.println(b);
}
结果:0.0
2)
double b = 0.5;
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
System.out.println(b);
}
结果:0.5
为什么会这样?
答案 0 :(得分:2)
因为double b = 1 / 2;
首先计算1 / 2
,它是简单的整数除法并且计算结果为0,然后将该值转换为双0.0
以将其分配给b
。