import java.util.Scanner;
public class WhileSumInputWithoutBreak {
public static void main(String[] args) {
// Scannerオブジェクトを作成
Scanner scanner = new Scanner(System.in);
// 初期化
int sum = 0;
int userInput = 1; // 初期値を1に設定
// 条件式: userInputが0でない限り続行
while (userInput != 0) {
// ユーザー入力を受け取る
System.out.print("整数を入力してください(0を入力すると終了): ");
userInput = scanner.nextInt();
// 入力が0でない場合は入力を合計に加算
sum += userInput;
}
// 合計を表示
System.out.println("入力された整数の合計: " + sum);
// Scannerをクローズ
scanner.close();
}
}
このプログラムでは、while
の条件式に userInput != 0
を使用しています。従って、userInput
が0でない限りループは続行します。これにより、break
を使用せずに同様の効果を達成しています。
while文の条件式
while文の条件式は、ループが継続するかどうかを判定するための式です。この条件式が真(true)である限り、ループは繰り返されます。条件式が偽(false)になると、ループから抜け出します。
基本的なwhile文の構造は以下の通りです。
while (条件式) {
// ループ本体
// 条件式が真の場合に実行される処理
}
- 条件式:
- ループが続行されるかどうかを判断するための論理式(Boolean式)を指定します。
- 条件が真であれば、ループ本体が実行されます。
- 条件が偽であれば、while文から抜け出されます。
条件式は通常、変数の値や比較演算子、論理演算子を使用して構築されます。以下はいくつかの例です。
例1: 変数の値を使用する場合
int count = 0;
while (count < 10) {
// ループ本体
// countが10未満の間、繰り返される処理
count++;
}
例2: 比較演算子を使用する場合
int x = 5;
while (x > 0) {
// ループ本体
// xが0より大きい間、繰り返される処理
x--;
}
例3: 論理演算子を使用する場合
boolean flag = true;
while (flag) {
// ループ本体
// flagがtrueの間、繰り返される処理
// flagがfalseになるとループを抜ける
flag = someCondition(); // 何らかの条件に基づいてflagを変更
}
これらの例では、条件式が満たされている限りループが続きます。条件が偽になると、while文から抜け出され、プログラムはその後のステートメントに進みます。条件式の評価はループの先頭で行われ、ループ本体が実行される前に評価されます。