【Javaのfor文】ブロック内の変数の扱い方

forのブロック内変数
  • このエントリーをはてなブックマークに追加
  • Pocket

Javaのfor文では、ブロック内で扱う変数をどこでも宣言できる。どこでもというのは、for文の初期化位置、ブロック内、for文の外、いずれでもだ。

サンプルプログラムを見ながら確認しておこう。

forのブロック内変数の扱い方

Javaのfor文のブロック内で使う変数がどこで宣言できるかというと、for文の初期化、for文のブロック内、for文の外で宣言できる。

[for文の外]
for ( [for文の初期化] ;  ;  ) { ← 「{」がブロックの始まり
    [for文のブロック内]
} ← 「}」がブロックの終わり

まず、for文の初期化で宣言された変数を考えてみよう。次のfor文はnumberを1から10までインクリメントして、最後のnumberの値をlastNumberに残すようにいている。

この場合、変数lastNumberは初期化で宣言した後0が代入され、ブロック内で変数として使われる。この使い方は問題ない。しかし、lastNumberをfor文の繰り返しが終わった後、for文のブロックの外で使おうとするとエラーが起きる。

では、次のfor文のブロック内で宣言された変数lastNumberはどうだろう。もちろん、ブロック内で使うことは可能だが、for文の外で使うことはできない。次のコードではエラーが起きるはずだ。変数lastNumberが有効な範囲は変数が宣言されたブロック内の残りの部分なのである。

では、for文のブロックの中で設定された値の変数をfor文の外で使うには、どうすればよいのだろう。その方法は、for文が始まる前で宣言すればよいのだ。

このように、for文の前で変数lastNumberを宣言して、for文のブロック内で設定する。こうすれば、for文内の値をfor文の外に持ち出せる。

for文内で宣言された変数のサンプルプログラム

このサンプルプログラムは、for文内で宣言された変数の有効範囲がどこまであるのかを示している。最初は、初期化で宣言された変数lastNumber、次はfor文の繰り返しのブロック内で宣言された変数lastNumberだ。どちらも、for文の繰り返しが終わった後で使うことはできない。使うとエラーになる。

実行結果

サンプルプログラムの説明

それでは簡単にプログラムの解説をしてゆこう。

  • [1] 変数numberを宣言し、初期値に1を代入する。変数lastNumberを宣言し、初期値に0を代入する。numberを1から10回インクリメントする。
  • [2] lastNumberにnumberを代入する。
  • [3] numberを表示する
  • [4] 改行する。
  • [5] numberを表示する
  • [6] 変数numberを宣言し、初期値に1を代入する。numberを1から10回インクリメントする。
  • [7] 変数lastNumberを宣言し、初期値にnumber を代入する。
  • [8] numberを表示する
  • [9] numberを表示する

for文の外で宣言された変数のサンプルプログラム

このサンプルプログラムは、for文内で代入された変数の値を、for文の外で使うに方法を示している。

実行結果

サンプルプログラムの説明

それでは簡単にプログラムの解説をしてゆこう。

  • [1] 変数lastNumberを宣言し、初期値に0 を代入する。
  • [2] 変数numberを宣言し、初期値に1を代入する。numberを1から10回インクリメントする。
  • [3] lastNumberにnumberを代入する。
  • [4] numberを表示する
  • [5] numberを表示する

まとめ

このページではforのブロック内の変数について詳しく確認してみた。どこでも宣言できるというのは知っておいて損はないだろう。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメントを残す

*