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
となることがわかります。