ローカルヘンスウメソッド内で宣言された、最も一般的な変数。メソッドの中で宣言された、もしくはメソッドの引数として宣言された変数。引数は「ローカル変数」とは呼ばない事の方が多い。フィールド以外の変数、ということも言える。ローカル変数はメソッドの中のどの行でも宣言することができる。変数の使用範囲である「スコープ」は、宣言した箇所によって異なる。ローカル変数のスコープは、宣言した箇所から、宣言した箇所のブロックの最後まで、となる。これはブロックであれば全て該当し、メソッドにも当てはまる。そのため、ローカル変数はメソッドの外から使用することはできない。使用できなくなったローカル変数を再使用することはできないため、スコープから外れた時点でローカル変数は「死んだ」と見なされる。これがローカル変数の「寿命」である。これらはあくまでも「変数」に対しての制限であり、変数が参照するクラスや配列のインスタンスには全く影響しない。宣言したローカル変数が「参照型」の場合、その参照型変数はブロックから抜ければ寿命が来て消えてしまうが、参照先のインスタンスはまだ生きているため使用することができる。そのため、ローカル変数のスコープや寿命はあくまで「変数」のみに適用されることを忘れないこと。ローカル変数の変数宣言そのものを「ローカル変数宣言」と言う。ローカル変数宣言は、ブロック内、もしくはforステートメントのfor初期化ステートメントでのみ行うことができる。通常のステートメント内ではローカル変数の宣言を行うことはできない。詳しい形式については「変数宣言」を参照。「メソッドの引数」もローカル変数とほぼ同様の性質を持つ。なんでもないブロックの例。int型変数をiを宣言します。これがローカル変数になります。iのスコープはここから。iのスコープはここまで。ブロックの外に出たのでiのスコープの範囲外です。メソッドでも、同じように当てはまります。ブロックから抜けた時点でiは寿命が来て死んだと考えます。ローカル変数iを新たに宣言することができます。同じスコープの中で、同じ名前のローカル変数を複数宣言することはできません。スコープはあくまで「変数」に対してのみ当てはまることに注意。Integerクラス参照型変数を用意します。この参照型変数にインスタンスの参照をブロック内でセットします。Integerクラスのインスタンスへの参照を格納します。integer2のスコープはここから。インスタンスへの参照をintegerにコピーします。両方に格納されました。integer2のスコープはここまで。参照が格納されています。このように、ブロック内でnewしても、ブロックの外でも生き続けます。useLocal()メソッドを呼び出します。寿命が来て死んでいます。格納されているに過ぎません。通常のステートメントの中に記述することはできません。ローカル変数宣言を行う例です。構文エラーがあります。ローカル変数を使うメソッド。ローカル変数iを宣言します。iのスコープはここから。iのスコープはここまで。なんでもないブロックの例。int型変数をiを宣言します。これがローカル変数になります。iのスコープはここから。iのスコープはここまで。ブロックの外に出たのでiのスコープの範囲外です。メソッドでも、同じように当てはまります。ブロックから抜けた時点でiは寿命が来て死んだと考えます。ローカル変数iを新たに宣言することができます。同じスコープの中で、同じ名前のローカル変数を複数宣言することはできません。スコープはあくまで「変数」に対してのみ当てはまることに注意。Integerクラス参照型変数を用意します。この参照型変数にインスタンスの参照をブロック内でセットします。Integerクラスのインスタンスへの参照を格納します。integer2のスコープはここから。インスタンスへの参照をintegerにコピーします。両方に格納されました。integer2のスコープはここまで。参照が格納されています。このように、ブロック内でnewしても、ブロックの外でも生き続けます。useLocal()メソッドを呼び出します。寿命が来て死んでいます。格納されているに過ぎません。通常のステートメントの中に記述することはできません。ローカル変数宣言を行う例です。構文エラーがあります。ローカル変数を使うメソッド。ローカル変数iを宣言します。iのスコープはここから。iのスコープはここまで。識別子usersupdate:2006/02/27このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。詳しくは「JavaA2Z」表紙の説明をご覧ください。