プログラミング言語

【Java入門⑤】繰り返し ~初心者でも安心!基礎から学べるプログラミング講座~

プログラミング言語

※前回の講座がまだの人はこちらから
【Java入門④】条件分岐 ~初心者でも安心!基礎から学べるプログラミング講座~

繰り返し

プログラムを書く際に、同じ処理を何度も行いたい場合があります。
同じ処理を何度も書くことで実現できますが、同じコードが何行も続いてしまうのでオススメできません。
繰り返しという構文を使うことで、自動で同じ処理を繰り返すことができます。

繰り返しの構文

繰り返しの構文は複数存在するので、順番に紹介します。

while文

ある条件に一致する限り、処理を繰り返す文です。

while(条件) {
  処理;
}

<使用例>

public class StatementWhile {
  public static void main(String[] args) {
    //変数iに0を代入
    int i = 0;

    //iが4以下であれば繰り返す
    while(i <= 4) {
      //挨拶文を表示
      System.out.println("こんにちは!");
      //変数iをインクリメント
      i++;
    }
  }
}

while文の条件が「i <= 4」になっています。
これは「iが4以下なら真(true)」という意味になります。
つまり、iが5以上にならない限り、while文内の処理を行うことになります。

<実行結果>

do-while文

一度処理を実行した後、ある条件に一致する限り、処理を繰り返す文です。

do {
  処理;
} while(条件);

<使用例>

import java.util.Scanner;

public class StatementDoWhile {
  public static void main(String[] args) {
    //キーボード入力を受け付ける
    Scanner numIn = new Scanner(System.in);

    //変数xを生成
    int x;

    //必ず一度は実行
    do {
      //ユーザに数字の入力を促す
      System.out.println("一桁の数字を入力してください");

      //ユーザから入力された数字を変数xに代入
      x = numIn.nextInt();
    } while(x < (-9) || (x > 9));

    //反転した数字を表示
    System.out.println("あなたが入力した数字を符号反転した数字は" + (-1 * x) + "になります。");
  }
}

まず、do-while文内の処理を一度実行します。
その後、while内の条件を見て、「xが-9より小さい」「xが9より大きい」の条件を満たす場合、もう一度do-while文内の処理を実行します。

<実行結果>

for文

ある条件の範囲まで処理を繰り返す文です。

for(初期化式;条件式;変化式) {
  処理;
}

<使用例>

public class StatementFor {
  public static void main(String[] args) {
    //変数sumを生成し、0を代入
    int sum = 0;

    //変数iが10以下であれば繰り返す
    for (int i = 0; i <= 10; i++) {
      //変数sumにsumとiを足した値を代入
      sum += i;
    }

    System.out.println("合計値は" + sum + "です。");
  }
}

初期化式でfor文内で使う変数を初期化します。
その後、条件(iが10以下)を見て、満たしていれば、for文内の処理を実行します。
実行後、変化式(iをインクリメント)を実行し、もう一度条件を見ます。
もし、条件を満たさなければ、そこでfor文の繰り返しは終了します。
今回は、変数iが0から1ずつ足されていき、iが11になった時点で繰り返しを終了します。

<実行結果>

繰り返しの注意点

繰り返し文で条件を満たし続けると、処理が一生終わらなくなります。
例えば、上記のwhile文で、while文内の「i++」を書かなかった場合、変数iは0から変わらなくなります。
すると、条件「i <= 4」を満たし続けるので、「こんにちは!」が永遠と表示されます。
(このことを無限ループと言ったりします。)
繰り返し文を実行する前に、必ず繰り返しを抜けるプログラムになっているか確認して下さい。

まとめ

繰り返しの構文は状況に応じて使い分けれる様になると良いです。
それぞれの繰り返しの意図を理解して、様々な場面で使ってみてください。

次回講座:配列
【Java入門⑥】配列 ~初心者でも安心!基礎から学べるプログラミング講座~

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