【Java-20】繰り返し構文②for文

初心者向けJava講座

※本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。

こんぶ
こんぶ

こんにちは。こんぶです。

今日は、繰り返し構文の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文の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】制御構文~ネスト、繰り返し中断、無限ループ~

それでは、こんぶはじゃ~

コメント

タイトルとURLをコピーしました