Javaの学習(while文とfor文の違い)

Sponsored Link

Androidアプリは、Java言語を用いて開発できます。

ということでJavaの勉強をしながら開発しています。

JavaとAndroidアプリ開発の書籍を2冊読み、ようやく面白くなってきた所なのでJava初心者です。

Javaに限りませんが、条件付きループ処理を行う際、while文もしくはfor文を使います。

while文とfor文って違いは何?

こんな疑問がわきます。

細かいですが、その違いをまとめます。

while文

while文の書き方は

while (繰り返しの条件) {
    処理;
}

処理の流れは、
1.繰り返しの条件を満たしているかどうかチェック。
2.繰り返しの条件を満たしていれば処理を実行後、1に戻る。条件を満たしてなければwhile文を終了。

では例文。

public class SampleLoop extends MyFrame {
    public void run() {
        int x=10;
        while (x<=150) {
            fillRect(x, 10, 10, 100);
            x+=20;
        }
    }
}

fillRectは括弧の4つの引数(横座標,縦座標,幅,高さ)で塗りつぶした四角形を描くメソッドです。
int型の変数xに10を代入して、xが150以下の条件を満たせば四角形を描きます。
最後にxの値を20増やして条件を満たす間は四角形を書き続けます。

while文はxの値を更新する

x+=20;

を繰り返しの最後に書かなければならないので、値更新を書き忘れると繰り返し処理が終了しない無限ループ状態になってしまいます。

for文

for文の書き方は

for (初期設定 ; 条件 ; 値更新) {
    処理;
}

処理の流れは、
1.初期設定を実行。
2.繰り返しの条件を満たしていれば処理を実行。条件を満たしてなければwhile文を終了。
3.値更新を実行して2に戻る。

では例文。

public class SampleLoop extends MyFrame {
    public void run() {
        for (int x=10 ; x<=150 ; x+=20) {
            fillRect(x, 10, 10, 100);
        }
    }
}

for文は(初期設定 ; 条件 ; 値更新)を3つ組で処理の前に書くので、書き忘れることはほぼ無いでしょう。
つまり、for文はwhile文と違って無限ループ状態になる危険を回避することができますね。

関連記事

福岡のウェブデザイン事務所「ハブワークス」

HP作成・リニューアルは福岡のハブワークスまでお気軽にお問い合わせください。ウェブサイト公開後の修正・更新もお任せください。フリーランスだからできるリーズナブルな料金設定でサービスをご提供いたします。