Java @ mock
long
最終更新:
Bot(ページ名リンク)
-
view
long
Javaにおいてlongはプリミティブ型の1つです。
longはメモリ領域を64ビット確保します。
longは符号付き整数を扱うので、2の63乗(9223372036854775808)より、値の範囲は-9223372036854775808~9223372036854775807となります。
10桁以上の数値を扱う場合longを使います。
数値リテラルのデフォルトはint型のため、longのデータにはlまたはLを指定しなくてはいけません。
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の値は循環するそうです。
循環するので上記計算は
longの値範囲を超えてしまいエラーになりそうですが、longの値は循環するそうです。
循環するので上記計算は
9223372036854775807-(-9223372036854775808) ↓ 9223372036854775807+9223372036854775808 ↓ 9223372036854775808はlong型の範囲を超えているので超えた分が循環し-9223372036854775808になる 9223372036854775807-9223372036854775808 ↓ -1
となることがわかります。