CodeGym /Java Blog /ランダム /Java Whileループ
John Squirrels
レベル 41
San Francisco

Java Whileループ

ランダム グループに公開済み
whileループはほぼすべてのプログラミング言語にあり、Java も例外ではありません。Java およびその他の言語のWhileループは、それをトリガーした条件の値が true である限り、ステートメントまたはステートメントのブロックを実行します。この記事では、 whileループの使い方について説明します。 Java While ループ - 1

サイクルは何のためにあるのでしょうか?

最初のプログラムは、順番にステップごとに実行される一連の命令でした。フォークや繰り返しはありません。その後、条件演算子の助けを借りて分岐を使用するようになりました。さて、反復的なアクションを実行するにはサイクルが存在します。おそらくサイクルは、プロセス自動化が初心者プログラマにもたらす最も明白な利点の 1 つです。1 日に歩数をカウントするトラッカー プログラムを作成する必要があると想像してください。たとえば、10,000 歩を超えると、プログラムは目標達成に関する通知を送信します。通知を発行するタスクは、次のような言葉 (または擬似コード) で表現できます。

While (number of steps less than 10,000)
{
Count steps
}

Send notification "you have reached the goal"
つまり、ステップ数が条件で指定された値と等しくなるやいなや、プログラムはこのサイクルを終了し、通知を送信します。または別の例。詩 (またはスピーチ) を暗記する必要があると想像してください。詩は、覗かずに 3 回続けて読むことができれば、暗記したとみなされます。詩を暗唱しようとする試みをキャプチャするプログラムを想像すると、ループも使用する必要があるでしょう。

While (success < 3)
learn a poem
同様の構造は、言語の学習や楽器の演奏などに使用されるすべての現代の教育アプリで使用されています。

While ループとその構造

上記の例のような問題を解決し、より一般的には Java での反復的なアクションを自動化するには、whileループを使用できます。この場合、Java whileループはうまく機能します。この設計では、複数のアクションを簡潔でわかりやすい構造に配置します。whileループ ステートメントはほとんどすべてのプログラミング言語にあります。制御式の値が true である限り、ステートメントまたはステートメントのブロックを繰り返します。whileループの形式は次のとおりです。

while(condition == true) {
    // statement or loop body
}
条件はブール式、つまり true または false と言える式である必要があります。ブール式の例をいくつか示します。

s != "exit";
a > 5;
true;
ループの本体は、条件式が true である限り実行されます。条件が false になると、制御はループの後のコード行に移ります。ループ内でステートメントが 1 つだけ使用されている場合は、中括弧を省略できます (ただし、省略しない方がよいでしょう)。論理式はwhileループの開始前に評価され、その後はステートメントの次の繰り返しが実行される前に毎回評価されます。

While ループの例

whileループを使用して 1 から 10 までのすべての数値を合計するプログラムを作成してみましょう。

public class WhileTest0 {
   public static void main(String[] args) {
       int i = 0;
       int sum = 0;
   //while loop     
   while (i < 11) {
           sum = sum + i;
           i++;
       }
       System.out.println(sum);
   }
}
出力は次のとおりです。
55
1 (またはゼロでも問題ありません) から 10 までのすべての数値の合計を計算する必要があります。最初の合計と最初の要素をゼロに等しくし、各パスで要素を 1 ずつ増やします。ループ。引数が 10 に等しくなる (つまり、11 未満になる) まで合計を続けます。同様に、条件i <= 10を書くこともできます。別の Java whileループの例を見てみましょう。ユーザーが正の整数を入力するプログラムを作成します。ゼロまたは負の数値を入力した場合、プログラムはこれを報告し、ジョブを終了する必要があります。

import java.util.Scanner;

public class WhileTest {
   public static void main(String[] args) {
       int positiveNumber = 1;
       Scanner scanner = new Scanner(String.valueOf(positiveNumber));
       while (positiveNumber > 0) {
           Scanner sc = new Scanner(System.in);
           System.out.println("Enter positive number:");
           positiveNumber = sc.nextInt();
           System.out.println("ok, next");
       }
       System.out.println("The number should be positive");
   }
}
たとえば、ユーザーが他の文字ではなく数値を正確に入力したかどうか、または数値が整数であるかどうかをチェックするなど、プログラムを改善して追加することができます。

do-while ループ

上記の例のような古典的なwhileループは、条件が true かどうかを直ちにチェックします。したがって、前提条件付きのサイクルと呼ぶことができます。whileループは、事後条件付きループの兄弟である do-while があります。つまり、条件の真偽のテストが行​​われる前に、このようなループが少なくとも 1 回実行されます。

do {
     // Loop body - periodically executed statement(s)
}while(Boolean expression);
したがって、このようなループを含む最初の例は次のようになります。

public class WhileTest0 {
   public static void main(String[] args) {
       int i = 0;
       int sum = 0;
       do
        {
           sum = sum + i;
           i++;
       } while (i < 11);
       System.out.println(sum);
   }
}

終わりのないサイクル

whileループを使用すると、 while(true)という形式で無限ループを整理できます。たとえばこれは一連の整数を無限に (多少のニュアンスはありますが) 出力するプログラムです。

public class EndlessLoop {
    public static void main(String[] args) {
        int i = 0;
        while (true) {
            System.out.println(i++);
        }
    }
}
学んだことをさらに強化するには、Java コースのビデオ レッスンを視聴することをお勧めします。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION