web-dev-qa-db-ja.com

java)の長いデータ型に値を割り当てる

long val = 5000000000;

この割り当て中のエラーは、「int型のリテラル5000000000が範囲外です」です。コンパイラがデフォルトでリテラルをintと見なすのはなぜですか?

8
Aarish Ramesh

次を使用できます。

long val = 5000000000L;

チェックしてください ここ

18
BobTheBuilder

Longには特定の接尾辞があります。つまり、Lです。接尾辞がない場合、5000000000はintタイプであると見なされます。また、5000000000がintの範囲外であるため、エラーが発生します。したがって、5000000000の最後にLを追加して、long値として扱う必要があります。宣言をから変更します

long val = 5000000000;

long val = 5000000000L;
4
Juned Ahsan

以下に示すように、番号の最後に文字Lを追加します

long val = 5000000000L;

3
MansoorShaikh

long:longデータ型は、64ビットの符号付き2の補数整数です。最小値は-9,223,372,036,854,775,808、最大値は9,223,372,036,854,775,807(両端を含む)です。

変数の初期化に明示的に使用される値に「l」または「L」を追加する必要があります。 0と同じくらい小さいです。

 long val = 0L;
0