変数は値を保存するためにメモリに適用されます。つまり、変数を作成するときに、メモリ内のスペースを申請する必要があります。
メモリ管理システムは、変数の型に応じて記憶領域を変数に割り当てます。割り当てられた領域は、その型のデータを格納するためにのみ使用できます。
したがって、さまざまな型の変数を定義することで、整数、小数、または文字をメモリに格納できます。
Java の 2 つの主要なデータ型:
組み込みのデータ型
参照データ型
Java 言語には 8 つの基本的な型が用意されています。 6 つの数値型 (4 つの整数、2 つの浮動小数点型)、文字型、およびブール型。
バイトタイプ:
バイト データ型は、2 の補数で表される 8 ビットの符号付き整数です。
最小値は -128 (-2^7) です。
最大値は 127 (2^7-1) です。
デフォルト値は 0 です。
byte 変数は int 型のスペースの 4 分の 1 しか占有しないため、byte 型は大きな配列のスペースを節約するために使用され、主に整数を置き換えます。
例: バイト a = 100、バイト b = -50。
short型(short整数型):
short データ型は、16 ビットの符号付き 2 の補数整数です。
最小値は -32768 (-2^15) です。
最大値は 32767 (2^15 - 1) です。
Short データ型は、バイトと同様にスペースを節約することもできます。 short 変数は、int 型変数が占めるスペースの半分です。
デフォルト値は 0 です。
例: 短い s = 1000、短い r = -20000。
int型(整数型):
int データ型は、2 の補数で表される 32 ビットの符号付き整数です。
最小値は -2,147,483,648 (-2^31) です。
最大値は 2,147,483,647 (2^31 - 1) です。
一般に、整数変数はデフォルトで int 型になります。
デフォルト値は 0 です。
例: int a = 100000、int b = -200000。
long (長整数型):
long データ型は、2 の補数で表される 64 ビットの符号付き整数です。
最小値は -9,223,372,036,854,775,808 (-2^63) です。
最大値は 9,223,372,036,854,775,807 (2^63 -1) です。
このタイプは主に、大きな整数を比較する必要があるシステムで使用されます。
デフォルト値は 0L です。
例: ロング a = 100000L、ロング b = -200000L。
float(単精度浮動小数点型):
float データ型は、IEEE 754 標準に準拠した単精度 32 ビット浮動小数点数です。
float は、大きな浮動小数点配列を格納するときにメモリ領域を節約できます。
デフォルト値は 0.0f です。
浮動小数点数は通貨などの正確な値を表すために使用できません。
例: float f1 = 234.5f。
double(倍精度浮動小数点型):
double データ型は、倍精度、64 ビット、IEEE 754 準拠の浮動小数点数です。
浮動小数点数のデフォルトのタイプは double です。
また、double 型は通貨などの正確な値を表すことはできません。
デフォルト値は 0.0d です。
例: ダブル d1 = 123.4。
ブール値:
ブール データ型は 1 ビットの情報を表します。
値は true と false の 2 つだけです。
このタイプは、真/偽の状況を記録するためのフラグとしてのみ使用されます。
デフォルト値は false です。
例: ブール値 1 = true。
char (文字型):
char 型は単一の 16 ビット Unicode 文字です。
最小値は 'u0000' (つまり 0) です。
最大値は 'uffff' (つまり 65,535) です。
char データ型には任意の文字を格納できます。
例: 文字 = 'A'。
数値型の基本型の値の範囲については、その値が対応するパッケージング クラスで定数の形式ですでに定義されているため、無理に覚える必要はありません。次の例を参照してください。
パブリック クラス PrimitiveTypeTest {
public static void main(String[] args) {
// バイト
System.out.println("基本型: byte 2 進数: " + Byte.SIZE);
System.out.println("パッケージングクラス: java.lang.Byte");
System.out.println("最小値: Byte.MIN_VALUE=" + Byte.MIN_VALUE);
System.out.println("最大値: Byte.MAX_VALUE=" + Byte.MAX_VALUE);
System.out.println();
// 短い
System.out.println("基本型: 短い 2 進数: " + Short.SIZE);
System.out.println("パッケージングクラス: java.lang.Short");
System.out.println("最小値: Short.MIN_VALUE=" + Short.MIN_VALUE);
System.out.println("最大値: Short.MAX_VALUE=" + Short.MAX_VALUE);
System.out.println();
// 整数
System.out.println("基本型: int 2 進数: " + Integer.SIZE);
System.out.println("パッケージングクラス: java.lang.Integer");
System.out.println("最小値: Integer.MIN_VALUE=" + Integer.MIN_VALUE);
System.out.println("最大値: Integer.MAX_VALUE=" + Integer.MAX_VALUE);
System.out.println();
// 長さ
System.out.println("基本型:long 2進数桁数:" + Long.SIZE);
System.out.println("パッケージングクラス: java.lang.Long");
System.out.println("最小値: Long.MIN_VALUE=" + Long.MIN_VALUE);
System.out.println("最大値: Long.MAX_VALUE=" + Long.MAX_VALUE);
System.out.println();
// 浮動小数点
System.out.println("基本型:float 2進数の桁数:" + Float.SIZE);
System.out.println("パッケージングクラス: java.lang.Float");
System.out.println("最小値: Float.MIN_VALUE=" + Float.MIN_VALUE);
System.out.println("最大値: Float.MAX_VALUE=" + Float.MAX_VALUE);
System.out.println();
//ダブル
System.out.println("基本型: double 2 進数: " + Double.SIZE);
System.out.println("パッケージングクラス: java.lang.Double");
System.out.println("最小値: Double.MIN_VALUE=" + Double.MIN_VALUE);
System.out.println("最大値: Double.MAX_VALUE=" + Double.MAX_VALUE);
System.out.println();
// 文字
System.out.println("基本型: char 2 進数: " + Character.SIZE);
System.out.println("パッケージングクラス: java.lang.Character");
// Character.MIN_VALUE を文字形式ではなく数値形式でコンソールに出力します。 System.out.println("最小値: Character.MIN_VALUE="
+ (int) 文字.MIN_VALUE);
// Character.MAX_VALUE を文字形式ではなく数値形式でコンソールに出力します。 System.out.println("最大値: Character.MAX_VALUE="
+ (int) 文字.MAX_VALUE);
}
}
上記のコードをコンパイルした出力は次のようになります。
基本型:バイト 2進数:8
ラッピングクラス: java.lang.Byte
最小値: Byte.MIN_VALUE=-128
最大値: Byte.MAX_VALUE=127
基本型:short 2進数:16
ラッピングクラス: java.lang.Short
最小値: Short.MIN_VALUE=-32768
最大値: Short.MAX_VALUE=32767
基本型: int 2進数: 32
ラッピングクラス: java.lang.Integer
最小値: Integer.MIN_VALUE=-2147483648
最大値: Integer.MAX_VALUE=2147483647
基本型:long 2進数:64桁
ラッピングクラス: java.lang.Long
最小値: Long.MIN_VALUE=-9223372036854775808
最大値: Long.MAX_VALUE=9223372036854775807
基本型:float 2進数の桁数:32
ラッピングクラス: java.lang.Float
最小値: Float.MIN_VALUE=1.4E-45
最大値: Float.MAX_VALUE=3.4028235E38
基本型:double 2進数:64
ラッピングクラス: java.lang.Double
最小値: Double.MIN_VALUE=4.9E-324
最大値: Double.MAX_VALUE=1.7976931348623157E308
基本型:char 2進数:16
ラッピングクラス: java.lang.Character
最小値: Character.MIN_VALUE=0
最大値: Character.MAX_VALUE=65535
Float と Double の最小値と最大値は科学表記法で出力されます。末尾の「E+数値」は、E の前の数値に 10 の「数値」乗算することを意味します。たとえば、3.14E3 は 3.14×1000=3140、3.14E-3 は 3.14/1000=0.00314 です。
実際、JAVA には別の基本型 void があり、これにも対応するパッケージング クラス java.lang.Void がありますが、それらを直接操作することはできません。
参照型変数はクラスのコンストラクターによって作成され、それらを使用して参照先オブジェクトにアクセスできます。これらの変数は、宣言時に Employee、Pubby などの特定の型として指定されます。変数が宣言されると、その型を変更することはできません。
オブジェクトと配列は参照データ型です。
すべての参照型のデフォルト値は null です。
参照変数は、互換性のある任意の型を参照するために使用できます。
例: 動物 Animal = new Animal("キリン")。
定数は固定値です。これらは計算を必要とせず、対応する値を直接表します。
定数とは、変更できない量を指します。 最終フラグは Java で使用され、宣言方法は変数の場合と似ています。
最終的なダブル PI = 3.1415927;
定数名は小文字にすることもできますが、識別しやすいように、通常は定数を表すために大文字が使用されます。
リテラルは、任意の組み込み型の変数に割り当てることができます。例えば:
バイトa = 68;
文字 a = 'A'
Byte、int、long、short はすべて 10 進数、16 進数、8 進数で表現できます。
定数を使用する場合、接頭辞 0 は 8 進数を示し、接頭辞 0x は 16 進数を示します。例えば:
int 10 進数 = 100;
int 8進数 = 0144;
int hexa = 0x64;
他の言語と同様、Java の文字列定数は 2 つの引用符で囲まれた一連の文字です。以下は文字列リテラルの例です。
"こんにちは世界"
"2n行"
""これは引用符で囲みます""
文字列定数と文字定数の両方に、任意の Unicode 文字を含めることができます。例えば:
文字 a = 'u0001';
文字列 a = "u0001";
Java 言語は、いくつかの特別なエスケープ文字シーケンスをサポートしています。
シンボル | 文字の意味 |
---|---|
n | 改行(0x0a) |
r | (0x0d) を入力してください |
f | フォームフィード文字 (0x0c) |
b | バックスペース (0x08) |
ヌル文字 (0x0) | |
s | 弦 |
t | タブ文字 |
「 | 二重引用符 |
' | 一重引用符 |
\ | バックスラッシュ |
ddd | 8 進数文字 (ddd) |
uxxxx | 16 進 Unicode 文字 (xxxx) |
このセクションでは、Java の基本的なデータ型について説明します。次のセクションでは、さまざまな変数の型とその使用法について説明します。