ローカル変数:
- スコープ: ローカル変数は、特定のブロック内(メソッド、ループ、条件分岐など)でのみ有効です。ブロックを抜けるとその変数は存在しません。
- ライフタイム: ローカル変数はブロック内で宣言され、そのブロックを抜けると消滅します。
- 使用例: メソッド内の一時的な計算やデータの一時的な保存に使用されます。例えば、関数内での一時的な中間結果の格納や制御変数の使用などが該当します。
public void someMethod() {
int localVar = 42; // ローカル変数
// localVarを使った処理
}
// localVarはこのブロック外では存在しない
グローバル変数:
- スコープ: グローバル変数はプログラム全体で有効であり、どこからでもアクセスできます。
- ライフタイム: グローバル変数はプログラムが実行されている間ずっと存在し、プログラムが終了するまで維持されます。
- 使用例: 複数のメソッドやクラスで共有するデータや設定値、定数などを格納するために使用されます。
public class GlobalExample {
// グローバル変数
static int globalVar = 10;
public static void main(String[] args) {
System.out.println(globalVar); // グローバル変数を使用
}
public static void anotherMethod() {
globalVar = 20; // グローバル変数の更新
}
}
要約すると、ローカル変数は狭いスコープと一時的な利用を持ち、一部の特定のコードブロック内でのみ使用されます。対照的に、グローバル変数は広範なスコープを持ち、プログラム全体で共有されるデータや設定を格納するために使用されます。適切な変数の種類を選択することは、プログラムの効率性と保守性に影響を与えます。