※本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。
こんにちは。こんぶです。
今日は、繰り返し構文の1つである「for文」について学んでいきましょう!
私の自己紹介等は、こちらからどうぞ。
また、Javaの学習を最初から進めていきたい方は、Java-1から見てみてくださいね。
for文
「【Java-19】繰り返し構文①while構文」で紹介した「while構文」ですが、決まった回数の繰り返しをしたい場合は、「for文」を使用した方がシンプルなコードで記載することができます。
では、基本のfor文から見ていきましょう。
基本の書き方
基本的な「for文」は、次のように書きます。
「for ( int i = 0 ; i < 10 ; i++){処理内容}」
「int型の変数 i 」を0で初期化し、「処理内容」を10回(int型の変数 i が10未満の間)繰り返し実行し、各処理内容の最後にint型の変数 i に入っている数値を1増やすという内容です。
変数名は「i」ではなくても大丈夫ですが、必ず3つとも同じ変数名を使用します。
for文の括弧内では、左から順番に「初期化処理」、「繰り返し条件」、「繰り返し時処理」を定義しています。
それぞれについて詳しく説明していきます。
初期化処理
基本的な「for文」の黄色マーカー部分(int i = 0)は、「初期化処理」になります。
forによる繰り返しの前に、最初に1回だけ実行されます。
通常は、何周目のループかを記録しておく変数を定義します。このような変数を「ループ変数」といいます。
繰り返し条件
基本的な「for文」の赤色マーカー部分(i < 10)は、「繰り返し条件」になります。
ブロック(処理内容)を実行する前に評価され、繰り返しを継続するかどうかを判定する条件式です。
評価結果が「true」の間はブロックが繰り返し実行されます。
つまり、「for文」は前置判定の繰り返し構文になりますね。
繰り返し時処理
基本的な「for文」の青色マーカー部分(i++)は、「繰り返し時処理」になります。
for文のブロック(処理内容)を最後まで処理した直後に自動的に実行されます。
通常は「i++」のようにループ変数の値を1だけ増やす文を書きます。
ループ変数
ループ変数に関して、ポイントを説明していきます。
ループ変数の名前は自由ですが、for文より前に宣言されている変数名は使用できません。
また、一般的には「i」や「j」等の1文字の変数名が多いです。
ループ変数も通常の変数と同様に、ブロック内での計算や表示に使用することができます。
また、for文のブロック内でのみ利用でき、ブロック外では利用できません。
for文の応用
for文の3つの要素(初期化処理、繰り返し条件、繰り返し時処理)を工夫することで高度な繰り返しを行うこともできます。
例えば、ループ変数を1からスタートさせたい場合には、「初期化処理」の部分で1で初期化することができます。
また、ループ変数を2ずつ増やしたい場合には、「繰り返し時処理」の部分で「i += 2」のように記述することもできます。
さらに、ループ変数を10から1ずつ1まで減らしたい場合は、3つの要素を全て変えて「for ( int i = 10 ; i > 0 ; i- –){処理内容}」のように記述することもできます。
他にも、「初期化処理」や「繰り返し時処理」を記載せずにその処理を行わないこともできます。
ですが、複雑なループを作ろうとするとミスにもつながりやすいので、基本形を使用しながら応用的なループを作るのがオススメです。
基本形を使用しながらループ変数を2ずつ増やしたい場合、次のように記載することもできます。
このように、できるだけ基本形を使用する方がいいでしょう。
今回のまとめ
★決まった回数の繰り返しをしたい場合は、「for文」を使用できる
★基本的なfor文は、「for ( int i = 0 ; i < 10 ; i++){処理内容}」のように記述する
★for文の括弧内では、左から順番に「初期化処理」、「繰り返し条件」、「繰り返し時処理」を定義している
★「for文」は前置判定の繰り返し構文
★for文の3つの要素(初期化処理、繰り返し条件、繰り返し時処理)を工夫することで高度な繰り返しを行うこともできるが、できるだけ基本形を使用しながら応用的なループを作る
次回は、制御構文の「ネスト、繰り返し中断、無限ループ」について説明していこうと思います。
今回の内容のチャレンジ問題はこちらです→チャレンジ問題【Java-20】
次の内容に進む方はこちらです→【Java-21】制御構文~ネスト、繰り返し中断、無限ループ~
それでは、こんぶはじゃ~
コメント