当字节/短/字符被存储在int中时没有收到编译错误

float f = 9.0; //compilation error. 

char c = 12; //not a compiation err

int i = 99;//not a compiation err

short s = i;//not a compiation err

但是,当我分配的值大于char/int/short范围时,出现错误Eclipse正在显示编译错误。当字节/短/字符被存储在int中时没有收到编译错误

Eclipse或JDK 1.6的功能在将int存储到short,byte或char时不会给出编译错误?

当我在一个小数目中存储一个大数字时,我期待编译错误。对于浮点数据类型,这是真的。但不适用于整数数据类型。

回答:

只需在9.0之后添加一个“f”即可。例如:

Float f = 9.0f;

回答:

我只是跑在ideone这个傻逼。这里的网址:

http://ideone.com/WZ4kX

这编译声称是:language: Java (sun-jdk-1.6.0.17)

,并将所得的消息是:

Main.java:3: possible loss of precision 

found : double

required: float

float f = 9.0; //compilation error.

^

Main.java:7: possible loss of precision

found : int

required: short

short s = i;//not a compiation e

^

2 errors

对于它的价值,我的Eclipse(太阳神)是给我这是一个type mismatch错误。我没有更改Eclipse中的任何编译器错误消息设置。

以上是 当字节/短/字符被存储在int中时没有收到编译错误 的全部内容, 来源链接: utcz.com/qa/261546.html

回到顶部