工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Java

Java while & do-whileループをマスター:ステップバイステップチュートリアル

Java whileおよびdo...whileループ

このチュートリアルでは、例を用いてJavaでのwhileおよびdo whileループの使い方を学びます。

コンピュータプログラミングでは、ループを使用してコードブロックを繰り返します。例えば、メッセージを100回表示したい場合、ループを使用できます。これは単純な例に過ぎず、ループでより多くのことが達成できます。

前のチュートリアルではJava forループについて学びました。ここではwhileとdo...whileループについて学びます。


Java whileループ

Javaのwhileループは、特定の条件が満たされるまで特定のコードを実行するために使用されます。whileループの構文は:

while (testExpression) {
    // ループ本体
}

ここで、

  1. whileループは括弧()内のtestExpressionを評価します。
  2. testExpressionがtrueと評価される場合、whileループ内のコードが実行されます。
  3. testExpressionが再び評価されます。
  4. このプロセスはtestExpressionがfalseになるまで続きます。
  5. testExpressionがfalseと評価されると、ループが停止します。

条件について詳しくは、Java関係演算子と論理演算子を参照してください。


whileループのフローチャート

Java while & do-whileループをマスター:ステップバイステップチュートリアル

例1: 1から5までの数字を表示

// 1から5までの数字を表示するプログラム
class Main {
    public static void main(String[] args) {
        // 変数を宣言
        int i = 1, n = 5;
        // 1から5までのwhileループ
        while(i <= n) {
            System.out.println(i);
            i++;
        }
    }
}

出力

1
2
3
4
5

このプログラムの動作は以下の通りです。

反復変数条件: i <= nアクション
1回目i = 1
n = 5
true1 を出力。
iは2になる。
2回目i = 2
n = 5
true2 を出力。
iは3になる。
3回目i = 3
n = 5
true3 を出力。
iは4になる。
4回目i = 4
n = 5
true4 を出力。
iは5になる。
5回目i = 5
n = 5
true5 を出力。
iは6になる。
6回目i = 6
n = 5
falseループ終了

例2: 正の数のみの合計

// 正の数の合計を求めるJavaプログラム
import java.util.Scanner;
class Main {
    public static void main(String[] args) {
        int sum = 0;
        // Scannerクラスのオブジェクトを作成
        Scanner input = new Scanner(System.in);
        // ユーザーから整数入力を取得
        System.out.println("数字を入力してください");
        int number = input.nextInt();
        // 入力された数字が正である間whileループ継続
        while (number >= 0) {
            // 正の数のみ加算
            sum += number;
            System.out.println("数字を入力してください");
            number = input.nextInt();
        }
        System.out.println("合計 = " + sum);
        input.close();
    }
}

出力

数字を入力してください
25
数字を入力してください
9
数字を入力してください
5
数字を入力してください
-3
合計 = 39

上記のプログラムでは、Scannerクラスを使用してユーザーから入力を取得しています。ここで、nextInt()がユーザーから整数入力を取得します。

whileループはユーザーが負の数を入力するまで継続します。各反復で、ユーザーが入力した数字がsum変数に加算されます。

ユーザーが負の数を入力するとループが終了し、最終的に合計が表示されます。


Java do...whileループ

do...whileループはwhileループと似ています。しかし、do...whileループの本体はテスト式がチェックされる前に1回実行されます。例えば、

do {
    // ループ本体
} while(textExpression);

ここで、

  1. ループ本体が最初に実行され、その後textExpressionが評価されます。
  2. textExpressionがtrueと評価される場合、do文内のループ本体が再度実行されます。
  3. textExpressionが再び評価されます。
  4. textExpressionがtrueと評価される場合、do文内のループ本体が再度実行されます。
  5. このプロセスはtextExpressionがfalseと評価されるまで続きます。その後ループが停止します。

do...whileループのフローチャート

Java while & do-whileループをマスター:ステップバイステップチュートリアル

例3: 1から5までの数字を表示

// 1から5までの数字を表示するJavaプログラム
import java.util.Scanner;
// 1から100までの自然数の合計を求めるプログラム
class Main {
    public static void main(String[] args) {
        int i = 1, n = 5;
        // 1から5までのdo...whileループ
        do {
            System.out.println(i);
            i++;
        } while(i <= n);
    }
}

出力

1
2
3
4
5

このプログラムの動作は以下の通りです。

反復変数条件: i <= nアクション
i = 1
n = 5
チェックされない1 を出力。
iは2になる。
1回目i = 2
n = 5
true2 を出力。
iは3になる。
2回目i = 3
n = 5
true3 を出力。
iは4になる。
3回目i = 4
n = 5
true4 を出力。
iは5になる。
4回目i = 5
n = 5
true6 を出力。
iは6になる。
5回目i = 6
n = 5
falseループ終了

例4: 正の数の合計

// 正の数の合計を求めるJavaプログラム
import java.util.Scanner;
class Main {
    public static void main(String[] args) {
        int sum = 0;
        int number = 0;
        // Scannerクラスのオブジェクトを作成
        Scanner input = new Scanner(System.in);
        // 入力された数字が正である間do...whileループ継続
        do {
            // 正の数のみ加算
            sum += number;
            System.out.println("数字を入力してください");
            number = input.nextInt();
        } while(number >= 0);
        System.out.println("合計 = " + sum);
        input.close();
    }
}

出力 1

数字を入力してください
25
数字を入力してください
9
数字を入力してください
5
数字を入力してください
-3
合計 = 39

ここでは、ユーザーが正の数を入力すると、その数がsum変数に加算されます。このプロセスは数字が負になるまで続きます。数字が負になるとループが終了し、負の数を加算せずに合計を表示します。

出力 2

数字を入力してください
-8
合計 = 0

ここでは、ユーザーが負の数を入力しました。テスト条件はfalseになりますが、ループ内のコードは1回実行されます。


無限whileループ

ループの条件が常にtrueの場合、ループは無限回実行されます(メモリがいっぱいになるまで)。例えば、

// 無限whileループ
while(true){
    // ループ本体
}

無限do...whileループの例:

// 無限do...whileループ
int count = 1;
do {
    // ループ本体
} while(count == 1)

上記のプログラムでは、textExpressionが常にtrueです。したがって、ループ本体は無限回実行されます。


forループとwhileループ

forループは反復回数が既知の場合に使用されます。例えば、

for (let i = 1; i <=5; ++i) {
    // ループ本体
}

whileとdo...whileループは一般的に反復回数が未知の場合に使用されます。例えば、

while (condition) {
    // ループ本体
}

Java

  1. while文 vs do-while文:実践例で明確に比較
  2. Java変数とリテラル:包括的ガイド
  3. Javaの式、文、ブロックを理解する
  4. Java拡張forループをマスター:構文、例、ベストプラクティス
  5. Javaクラスとオブジェクト:実践ガイド
  6. Java抽象クラスとメソッド:包括的ガイド
  7. Javaネストクラスとインナークラス完全ガイド:種類、例、ベストプラクティス
  8. Java throw vs throws:実践例でマスターする例外ハンドリング
  9. Javaオートボクシングとアンボクシング完全ガイド:実例とベストプラクティス
  10. Javaで回文数を判定する:while文とfor文を使ったアルゴリズム
  11. Javaオブジェクトとクラス:コアOOP概念を完全理解