「long」の編集履歴(バックアップ)一覧はこちら

long - (2009/03/18 (水) 20:52:32) の1つ前との変更点

追加された行は緑色になります。

削除された行は赤色になります。

*long Javaにおいてlongはプリミティブ型の1つです。 longはメモリ領域を64ビット確保します。 longは符号付き整数を扱うので、2の63乗(9223372036854775808)より、値の範囲は-9223372036854775808~9223372036854775807となります。 10桁以上の数値を扱う場合longを使います。 数値リテラルのデフォルトはint型のため、longのデータにはlまたはLを指定しなくてはいけません。 ---- **long 使用例 1 LongSample1.java class LongSample1 { public static void main(String[] args) { long longMax = 9223372036854775807L; long longMin = -9223372036854775808L; System.out.println("longMax:" + longMax); System.out.println("longMin:" + longMin); } } 実行結果 C:\java>javac LongSample1.java C:\java>java LongSample1 longMax:9223372036854775807 longMin:-9223372036854775808 ---- **long 値範囲を超えた場合 1 LongSample2.java class LongSample2 { public static void main(String[] args) { long longMax = 9223372036854775808L; long longMin = -9223372036854775809L; System.out.println("longMax:" + longMax); System.out.println("longMin:" + longMin); } } コンパイル結果 C:\java>javac LongSample2.java LongSample2.java:5: 整数 9223372036854775808 が大き過ぎます。 long longMax = 9223372036854775808L; ^ LongSample2.java:6: 整数 -9223372036854775809 が大き過ぎます。 long longMin = -9223372036854775809L; ^ エラー 2 個 以上のようにコンパイルエラーが起こります。 ---- **long 値範囲を超えた場合 2 LongSample3.java class LongSample { public static void main(String[] args) { long longMax = 9223372036854775807L; long longMin = -9223372036854775808L; System.out.println("longMax - longMin:" + (longMax - longMin)); } } 実行結果 C:\java>javac LongSample.java C:\java>java LongSample longMax - longMin:-1 上記プログラムは本来なら9223372036854775807-(-9223372036854775808)で longの値範囲を超えてしまいエラーになりそうですが、longの値は循環するそうです。 循環するので上記計算は 9223372036854775807-(-9223372036854775808) ↓ 9223372036854775807+9223372036854775808 ↓ 9223372036854775808はlong型の範囲を超えているので超えた分が循環し-9223372036854775808になる 9223372036854775807-9223372036854775808 ↓ -1 となることがわかります。 ----
*long Javaにおいてlongは[[プリミティブ型]]の1つです。 longはメモリ領域を64ビット確保します。 longは符号付き整数を扱うので、2の63乗(9223372036854775808)より、値の範囲は-9223372036854775808~9223372036854775807となります。 10桁以上の数値を扱う場合longを使います。 数値リテラルのデフォルトは[[int]]型のため、longのデータにはlまたはLを指定しなくてはいけません。 ---- **long 使用例 1 LongSample1.java class LongSample1 { public static void main([[String]][] args) { long longMax = 9223372036854775807L; long longMin = -9223372036854775808L; System.out.println("longMax:" + longMax); System.out.println("longMin:" + longMin); } } 実行結果 C:\java>javac LongSample1.java C:\java>java LongSample1 longMax:9223372036854775807 longMin:-9223372036854775808 ---- **long 値範囲を超えた場合 1 LongSample2.java class LongSample2 { public static void main(String[] args) { long longMax = 9223372036854775808L; long longMin = -9223372036854775809L; System.out.println("longMax:" + longMax); System.out.println("longMin:" + longMin); } } コンパイル結果 C:\java>javac LongSample2.java LongSample2.java:5: 整数 9223372036854775808 が大き過ぎます。 long longMax = 9223372036854775808L; ^ LongSample2.java:6: 整数 -9223372036854775809 が大き過ぎます。 long longMin = -9223372036854775809L; ^ エラー 2 個 以上のようにコンパイルエラーが起こります。 ---- **long 値範囲を超えた場合 2 LongSample3.java class LongSample { public static void main(String[] args) { long longMax = 9223372036854775807L; long longMin = -9223372036854775808L; System.out.println("longMax - longMin:" + (longMax - longMin)); } } 実行結果 C:\java>javac LongSample.java C:\java>java LongSample longMax - longMin:-1 上記プログラムは本来なら9223372036854775807-(-9223372036854775808)で longの値範囲を超えてしまいエラーになりそうですが、longの値は循環するそうです。 循環するので上記計算は 9223372036854775807-(-9223372036854775808) ↓ 9223372036854775807+9223372036854775808 ↓ 9223372036854775808はlong型の範囲を超えているので超えた分が循環し-9223372036854775808になる 9223372036854775807-9223372036854775808 ↓ -1 となることがわかります。 ----

表示オプション

横に並べて表示:
変化行の前後のみ表示:
人気記事ランキング
ウィキ募集バナー