私はJava9の機能JShellを試していました。JShellでdoubleからfloatへの可逆変換が可能
jshell> float b = 3.5
Error:
| incompatible types: possible lossy conversion from double to float
| float b = 3.5;
jshell> float x =2
x ==> 2.0
私はJava9の機能JShellを試していました。JShellでdoubleからfloatへの可逆変換が可能
jshell> float b = 3.5
Error:
| incompatible types: possible lossy conversion from double to float
| float b = 3.5;
jshell> float x =2
x ==> 2.0
それはJavaが不当にこせこせされています:私は、float値を設定することはできません よ。 リテラル3.5
の
タイプはdouble
で、あなたはfloat
にそれを割り当てています。
float
の可能なセットは、必然的にdouble
のセットのサブセットであるため、変換の警告が失われる可能性があります。
簡単に使えるように、3.5f
はfloat
のリテラルを示します。
しかし3.5
が正確double
とfloat
の両方で、エラーがナンセンスである。この特定機会にして表すことができることに注意してください。
これはJavaの動作です(既存の回答に記載されています)。 JShellはJava構文とセマンティクスを正確に継承しています。これは間違ったコードを作成しないように重要です。
'3.5f'を試して値を割り当て、' doubleからfloatへの不可逆変換 'について調べよう –
何が質問ですか? Javaでは '3.5'は' double'リテラルであることに留意してください。同等の 'float'リテラルは' 3.5f'です。 –
ありがとうその仕事 – jos