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) {
// body of loop
}
ここで、
<オール>while
ループは textExpression を評価します 括弧内 ()
.true
に評価されます 、 while
内のコード ループが実行されます。false
です .false
に評価されます 、ループが停止します。条件の詳細については、Java の関係演算子と論理演算子をご覧ください。
while ループのフローチャート
<図>例 1:1 から 5 までの数字を表示する
// Program to display numbers from 1 to 5
class Main {
public static void main(String[] args) {
// declare variables
int i = 1, n = 5;
// while loop from 1 to 5
while(i <= n) {
System.out.println(i);
i++;
}
}
}
出力
1 2 3 4 5
このプログラムの仕組みは次のとおりです。
反復 | 変数 | 条件:i <=n | アクション |
---|---|---|---|
1st | i = 1 n = 5 | true | <サンプル>1サンプル> 印刷されます。 私 2 に増加 . |
2位 | i = 2 n = 5 | true |
2
印刷されます。 私 3に増加 . |
3位 | i = 3 n = 5 | true | <サンプル>3サンプル> 印刷されます。 私 4に増加 . |
4位 | i = 4 n = 5 | true |
4
印刷されます。 私 5に増加 . |
5位 | i = 5 n = 5 | true |
5
印刷されます。 私 6に増加 . |
6位 | i = 6 n = 5 | false | ループが終了しました |
例 2:正の数のみの合計
// Java program to find the sum of positive numbers
import java.util.Scanner;
class Main {
public static void main(String[] args) {
int sum = 0;
// create an object of Scanner class
Scanner input = new Scanner(System.in);
// take integer input from the user
System.out.println("Enter a number");
int number = input.nextInt();
// while loop continues
// until entered number is positive
while (number >= 0) {
// add only positive numbers
sum += number;
System.out.println("Enter a number");
number = input.nextInt();
}
System.out.println("Sum = " + sum);
input.close();
}
}
出力
Enter a number 25 Enter a number 9 Enter a number 5 Enter a number -3 Sum = 39
上記のプログラムでは、 Scanner クラスを使用してユーザーからの入力を受け取りました。ここでは、nextInt()
ユーザーからの整数入力を受け取ります。
while
ユーザーが負の数を入力するまでループが続きます。各反復中に、ユーザーが入力した数値が sum
に追加されます
ユーザーが負の数を入力すると、ループは終了します。最後に合計金額が表示されます。
Java do...while ループ
do...while
ループは while ループに似ています。ただし、 do...while
の本体は ループは、テスト式がチェックされる前に 1 回実行されます。たとえば、
do {
// body of loop
} while(textExpression);
ここで、
<オール>true
に評価されます 、do
内のループの本体 ステートメントが再度実行されます。true
に評価されます 、do
内のループの本体 ステートメントが再度実行されます。false
に評価されます .その後、ループが停止します。do...while ループのフローチャート
<図>
do...while
の動作を見てみましょう ループ。
例 3:1 から 5 までの数字を表示する
// Java Program to display numbers from 1 to 5
import java.util.Scanner;
// Program to find the sum of natural numbers from 1 to 100.
class Main {
public static void main(String[] args) {
int i = 1, n = 5;
// do...while loop from 1 to 5
do {
System.out.println(i);
i++;
} while(i <= n);
}
}
出力
1 2 3 4 5
このプログラムの仕組みは次のとおりです。
反復 | 変数 | 条件:i <=n | アクション |
---|---|---|---|
i = 1 n = 5 | 未チェック | <サンプル>1サンプル> 印刷されます。 私 2 に増加 . | |
1位 | i = 2 n = 5 | true |
2
印刷されます。 私 3に増加 . |
2位 | i = 3 n = 5 | true | <サンプル>3サンプル> 印刷されます。 私 4に増加 . |
3位 | i = 4 n = 5 | true |
4
印刷されます。 私 5に増加 . |
4位 | i = 5 n = 5 | true |
6
印刷されます。 私 6に増加 . |
5位 | i = 6 n = 5 | false | ループが終了しました |
例 4:正の数の合計
// Java program to find the sum of positive numbers
import java.util.Scanner;
class Main {
public static void main(String[] args) {
int sum = 0;
int number = 0;
// create an object of Scanner class
Scanner input = new Scanner(System.in);
// do...while loop continues
// until entered number is positive
do {
// add only positive numbers
sum += number;
System.out.println("Enter a number");
number = input.nextInt();
} while(number >= 0);
System.out.println("Sum = " + sum);
input.close();
}
}
出力 1
Enter a number 25 Enter a number 9 Enter a number 5 Enter a number -3 Sum = 39
ここで、ユーザーが正の数を入力すると、その数が sum に追加されます 変数。そして、このプロセスは数値が負になるまで続きます。数値が負の場合、ループは終了し、負の数値を追加せずに合計を表示します。
アウトプット 2
Enter a number -8 Sum is 0
ここでは、ユーザーは負の数を入力します。テスト条件は false
になります ただし、ループ内のコードは 1 回実行されます。
無限 while ループ
状態の場合 のループは常に true
です 、ループは無限回実行されます (メモリがいっぱいになるまで)。たとえば、
// infinite while loop
while(true){
// body of loop
}
これは無限の do...while
の例です ループ。
// infinite do...while loop
int count = 1;
do {
// body of loop
} while(count == 1)
上記のプログラムでは、textExpression 常に true
です .したがって、ループ本体は無限回実行されます。
for および while ループ
for
loop は、反復回数がわかっている場合に使用されます。たとえば、
for (let i = 1; i <=5; ++i) {
// body of loop
}
そして while
と do...while
ループは通常、反復回数が不明な場合に使用されます。たとえば、
while (condition) {
// body of loop
}
Java