Java変数とデータ型完全ガイド:実例付きで徹底解説
Javaにおける変数とは
変数は、Javaプログラム実行中にデータを保持する名前付きメモリ領域です。すべての変数にはデータ型が割り当てられ、格納可能な値の種類と必要メモリ量を規定します。
Java変数は主に3カテゴリに分類されます:
- ローカル変数 — メソッドやブロック内で宣言
- インスタンス変数 — クラス内でメソッド外に宣言。個々のオブジェクトに属する
- 静的変数 —
staticキーワード付きで宣言。クラス自体に属し、プログラム開始時に一度だけ初期化
変数の使用:宣言と初期化
変数を扱うには2ステップ必要です:
- 型と名前を指定して宣言
- 値を代入して初期化
変数宣言
変数宣言時、型と一意の名前を指定します。
有効な宣言例:
int a, b, c; float pi; double d; char a;
変数初期化
初期化は変数に初期値を割り当てることです。
有効な初期化例:
pi = 3.14f; do = 20.22d; a = 'v';
宣言と初期化を1文で結合することも可能:
例:
int a = 2, b = 4, c = 6; float pi = 3.14f; double do = 20.22d; char a = 'v';
変数の種類
Javaは3種類の変数を区別します:
- ローカル変数
- インスタンス変数
- 静的変数
1) ローカル変数
メソッドやブロック内で宣言され、そのメソッド実行中のみ存在。
2) インスタンス変数
staticキーワードなしで定義され、クラスの個々のオブジェクトに紐づく。
3) 静的変数
プログラム開始時にインスタンス変数より前に一度だけ初期化。インスタンスではなくクラスに属する。
例:Javaの変数種類
class Guru99 {
static int a = 1; // 静的変数
int data = 99; // インスタンス変数
void method() {
int b = 90; // ローカル変数
}
}
Javaのデータ型
Javaのデータ型は2カテゴリに分類:
- プリミティブ型 — int、char、boolean、float等の組み込み型
- 非プリミティブ型 — クラス、配列、インターフェース、その他オブジェクト
プリミティブデータ型
Javaは8つのプリミティブ型を提供、それぞれ固定サイズとデフォルト値を持ちます:
- 整数型 —
byte(1バイト)、short(2バイト)、int(4バイト)、long(8バイト) - 浮動小数点型 —
float(4バイト)、double(8バイト) - 文字型 —
char(2バイト、Unicode) - 論理型 —
boolean(1ビット、trueまたはfalse)
| データ型 | デフォルト値 | サイズ |
|---|---|---|
| byte | 0 | 1バイト |
| short | 0 | 2バイト |
| int | 0 | 4バイト |
| long | 0L | 8バイト |
| float | 0.0f | 4バイト |
| double | 0.0d | 8バイト |
| boolean | false | 1ビット |
| char | '\u0000' | 2バイト |
重要ポイント
- すべての数値型は符号付き(正負両方表現可能)
- データ型サイズはJava言語仕様によりプラットフォーム間で統一
- Javaの
charはUnicode文字格納のため2バイト、完全な国際化サポートを実現
型変換とキャスト
Javaでは2つのメカニズムで異なる型間の値代入を可能にします:
- 暗黙的変換(拡大変換) — 小さい型を大きい型に代入(例:
intからlong)。自動的に発生。 - 明示的キャスト(縮小変換) — 大きい型を小さい型に代入(例:
doubleからint)。プログラマーが明示的にキャスト指定。コンパイラはデータ損失防止のためエラーを出力。
例:型キャストのデモ
ステップ1: 以下のコードをエディタにコピー。
class Demo {
public static void main(String[] args) {
byte x;
int a = 270;
double b = 128.128;
System.out.println("int converted to byte");
x = (byte) a;
System.out.println("a and x " + a + " " + x);
System.out.println("double converted to int");
a = (int) b;
System.out.println("b and a " + b + " " + a);
System.out.println("\ndouble converted to byte");
x = (byte) b;
System.out.println("b and x " + b + " " + x);
}
}
ステップ2: 保存、コンパイル、実行。
出力:
int converted to byte a and x 270 14 double converted to int b and a 128.128 128 double converted to byte b and x 128.128 -128
Java
- C# 変数とプリミティブデータ型:完全マスターガイド
- C言語変数・定数・リテラル完全ガイド
- C++演算子を徹底解説:種類、例、サンプルプログラム付き
- VHDL変数の解説:実践例と信頼性設計のためのルール
- Python 変数とデータ型:型の理解と活用
- Java変数とリテラル:包括的ガイド
- Javaプリミティブデータ型:例付き完全ガイド
- Java String.charAt()完全解説:構文、戻り値、例外、実例
- Java String.endsWith()マスター:文字列サフィックスチェック実例付き
- Java BufferedReader でファイル読み込み:実践ガイドと例
- Java変数の種類:ローカル、インスタンス、クラス変数を徹底解説