Java @ mock

int

最終更新:

Bot(ページ名リンク)

- view
管理者のみ編集可

int

Javaにおいてintはプリミティブ型の1つです。
intはメモリ領域を32ビット確保します。
intは符号付き整数を扱うので、2の31乗(2147483648)より、値の範囲は-2147483648~2147483647となります。
9桁の数値までを扱う場合intで良いです。


int 使用例 1

IntSample1.java
class IntSample1 {
	
	public static void main([[String]][] args) {
		
		int intMax = 2147483647;
		int intMin = -2147483648;
		
		System.out.println("intMax" + intMax);
		System.out.println("intMin" + intMin);
	}
}

実行結果
C:\java>javac IntSample1.java

C:\java>java IntSample1
intMax2147483647
intMin-2147483648


int 値範囲を超えた場合 1

IntSample2.java
class IntSample2 {
	
	public static void main(String[] args) {
		
		int intMax = 2147483648;
		int intMin = -2147483649;
		
		System.out.println("intMax" + intMax);
		System.out.println("intMin" + intMin);
	}
}
コンパイル結果
C:\java>javac IntSample2.java
IntSample2.java:5: 整数 2147483648 が大き過ぎます。
                int intMax = 2147483648;
                             ^
IntSample2.java:6: 整数 -2147483649 が大き過ぎます。
                int intMin = -2147483649;
                              ^
エラー 2 個

以上のようにコンパイルエラーが起こります。


int 値範囲を超えた場合 2

IntSample3.java
class IntSample3 {
	
	public static void main(String[] args) {
		
		int intMax = 2147483647;
		int intMin = -2147483648;
		
		System.out.println("intMax - intMin:" + (intMax - intMin));
	}
}

実行結果
C:\java>javac IntSample3.java

C:\java>;java IntSample3
intMax - intMin:-1

上記プログラムは本来なら2147483647-(-2147483648)で
intの値範囲を超えてしまいエラーになりそうですが、intの値は循環するそうです。
循環するので上記計算は
2147483647-(-2147483648)
         ↓
2147483647+2147483648
         ↓  2147483648はint型の範囲を超えているので超えた分が循環し-2147483648になる
2147483647-2147483648
         ↓
         -1
となることがわかります


ウィキ募集バナー