Java の整数型について:About Integer Types in Java
Java で数値を表す整数型
Javaでは、整数を表すために以下の4つのプリミティブ・データタイプが用意されています。それぞれ、表現できる値の範囲やメモリサイズが異なります。
- byte: 8ビット(1バイト)で、範囲は
-128
から127
まで。 - short: 16ビット(2バイト)で、範囲は
-32,768
から32,767
まで。 - int: 32ビット(4バイト)で、範囲は
-2,147,483,648
から2,147,483,647
まで。 - long: 64ビット(8バイト)で、範囲は
-9,223,372,036,854,775,808
から9,223,372,036,854,775,807
まで。
各データタイプの使用例は以下の通りです。
// byte型の例
byte b = 100;
System.out.println("byteの値: " + b);
// short型の例
short s = 30000;
System.out.println("shortの値: " + s);
// int型の例
int i = 2000000000;
System.out.println("intの値: " + i);
// long型の例
long l = 9000000000000000000L; // long型は末尾にLを付ける
System.out.println("longの値: " + l);
Java の整数型の既定値
Javaでは、クラスのメンバー変数(インスタンス変数やクラス変数)に初期値を設定しなかった場合、自動的に既定値が代入されます。ローカル変数の場合は、明示的に初期化する必要があります。
- byte の既定値:
0
- short の既定値:
0
- int の既定値:
0
- long の既定値:
0L
以下は、クラスメンバー変数における既定値の例です。
public class DefaultValues {
byte defaultByte;
short defaultShort;
int defaultInt;
long defaultLong;
public void printDefaults() {
System.out.println("byteの既定値: " + defaultByte);
System.out.println("shortの既定値: " + defaultShort);
System.out.println("intの既定値: " + defaultInt);
System.out.println("longの既定値: " + defaultLong);
}
public static void main(String[] args) {
DefaultValues dv = new DefaultValues();
dv.printDefaults();
}
}
Java の整数型変数の初期化
Javaでは、整数型変数を宣言するときに初期化することができます。ローカル変数は初期化しないとコンパイルエラーになりますが、クラスのメンバー変数は初期化しなくても既定値が代入されます。
以下は、変数の初期化の例です。
public class InitializationExample {
public static void main(String[] args) {
// ローカル変数の初期化
byte b = 10;
short s = 1000;
int i = 100000;
long l = 10000000000L;
System.out.println("byteの初期値: " + b);
System.out.println("shortの初期値: " + s);
System.out.println("intの初期値: " + i);
System.out.println("longの初期値: " + l);
}
}
Java の整数型の最大値と最小値
Javaでは、各整数型の最大値と最小値は、ラッパークラスの MAX_VALUE
と MIN_VALUE
定数を使って確認できます。
- byte:
Byte.MAX_VALUE
(127)、Byte.MIN_VALUE
(-128) - short:
Short.MAX_VALUE
(32,767)、Short.MIN_VALUE
(-32,768) - int:
Integer.MAX_VALUE
(2,147,483,647)、Integer.MIN_VALUE
(-2,147,483,648) - long:
Long.MAX_VALUE
(9,223,372,036,854,775,807)、Long.MIN_VALUE
(-9,223,372,036,854,775,808)
以下は、最大値と最小値を確認する例です。
public class MaxMinValues {
public static void main(String[] args) {
System.out.println("byteの最大値: " + Byte.MAX_VALUE);
System.out.println("byteの最小値: " + Byte.MIN_VALUE);
System.out.println("shortの最大値: " + Short.MAX_VALUE);
System.out.println("shortの最小値: " + Short.MIN_VALUE);
System.out.println("intの最大値: " + Integer.MAX_VALUE);
System.out.println("intの最小値: " + Integer.MIN_VALUE);
System.out.println("longの最大値: " + Long.MAX_VALUE);
System.out.println("longの最小値: " + Long.MIN_VALUE);
}
}