整数文字

时间:2015-08-05 11:25:57

标签: java integer

我无法理解为什么在Java中你可以为float值赋一个double值,例如:

float number=456.7F;

但你不能对整数和浮点数做同样的事情,例如:

int numb=56798434L;

在C ++中这些东西似乎有效。

2 个答案:

答案 0 :(得分:4)

456.7F字面值不是double值,而是float值。双后缀是d(或没有后缀),它也会产生编译错误:

float f = 456.7d; 

Java始终要求对数字转换进行显式转换,这可能会导致溢出或精度损失。

答案 1 :(得分:0)

如果没有强制转换,您无法将具有较高容量的类型的值分配给较低容量的类型。 long可以存储更大的数字,因此无法将其分配给int