2010-12-11 8 views
1
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の範囲を超えているとエラーが表示されます。バイト/ショート/ charがintに格納されているときにコンパイルエラーが発生しない

intをshort、byte、またはcharに格納するときに、コンパイルエラーを出さないことは、EclipseまたはJDK 1.6の機能ですか?

大きな数値を小さな数で保存すると、コンパイルエラーが発生することが予想されました。浮動小数点データ型の場合、これは真だった。整数型のデータ型では使用できません。

答えて

1

9.0の後に "f"を追加するだけです。たとえば:

Float f = 9.0f;

1

私はちょうどideoneにこの吸盤を走りました。ここにURLがあります:

コンパイラがあると主張されて

http://ideone.com/WZ4kX

language: Java (sun-jdk-1.6.0.17)

し、得られたメッセージは次のとおりです。何が価値があるのは、私のEclipse(ヘリオス)を与えているために

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 

私にはこれにはtype mismatchエラーがあります。私はEclipseのコンパイラエラーメッセージの設定を変更していません。

関連する問題