ホームページ >Java >&#&チュートリアル >Long 変数を使用しているにもかかわらず、Java コードで「整数リテラルが範囲外です」エラーがスローされるのはなぜですか?

Long 変数を使用しているにもかかわらず、Java コードで「整数リテラルが範囲外です」エラーがスローされるのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-29 14:06:02488ブラウズ

Why does my Java code throw an

データ型とエラー処理について

コード内で、testLong という名前の long 変数を宣言し、それに値 9223372036854775807 を割り当てようとしました。ただし、リテラルが int 型の範囲外であることを示すエラーが発生しました。

データ型の役割

Java の各データ型は、値の範囲が異なります。 long データ型は、-9,223,372,036,854,775,808 から 9,223,372,036,854,775,807 までの整数値を保持できます。試行した値はこの範囲内にあります。

エラーの特定

受け取ったエラー メッセージは、コンパイラがリテラル 9223372036854775807 を int 型として解釈していることを示しています。値の範囲が小さくなります。この解釈は、リテラルの末尾に文字 'L' がないことが原因です。

コードの修正

この問題を解決するには、明示的に次のことを行う必要があります。リテラルがlong型であることを指定します。これは、以下に示すように、リテラルの末尾に文字「L」を追加することで実行できます。

<code class="java">long testLong = 9223372036854775807L;</code>

この変更により、コンパイラーはリテラルを Long 値として正しく解釈し、それをtestLong 変数。

以上がLong 変数を使用しているにもかかわらず、Java コードで「整数リテラルが範囲外です」エラーがスローされるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。