Java while 和 do...while 循环
Java while 和 do...while 循环
在本教程中,我们将通过示例学习如何在 Java 中使用 while 和执行 while 循环。
在计算机编程中,循环用于重复一段代码。例如,如果您想显示一条消息 100 次,那么您可以使用循环。这只是一个简单的例子;你可以通过循环实现更多。
在上一教程中,您了解了 Java for 循环。在这里,您将了解while
和 do...while
循环。
Java while 循环
Java while
循环用于运行特定代码,直到满足特定条件。 while
的语法 循环是:
while (testExpression) {
// body of loop
}
在这里,
- 一个
while
循环计算 textExpression 括号内()
. - 如果 textExpression 计算结果为
true
,while
里面的代码 循环被执行。 - 文本表达式 再次评估。
- 这个过程一直持续到 textExpression 是
false
. - 当 textExpression 计算结果为
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 | 动作 |
---|---|---|---|
第一个 | i = 1 n = 5 | true |
1
被打印。 我 增加到 2 . |
第二次 | i = 2 n = 5 | true |
2
被打印。 我 增加到 3 . |
第三次 | i = 3 n = 5 | true |
3
被打印。 我 增加到 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
的正文 循环在检查测试表达式之前执行一次。例如,
do {
// body of loop
} while(textExpression);
在这里,
- 首先执行循环体。然后是 textExpression 被评估。
- 如果 textExpression 计算结果为
true
,do
内的循环体 语句再次执行。 - 文本表达式 再次评估。
- 如果 textExpression 计算结果为
true
,do
内的循环体 语句再次执行。 - 这个过程一直持续到 textExpression 计算结果为
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 . | |
第一个 | i = 2 n = 5 | true |
2
被打印。 我 增加到 3 . |
第二次 | i = 3 n = 5 | true |
3
被打印。 我 增加到 4 . |
第三次 | i = 4 n = 5 | true |
4
被打印。 我 增加到 5 . |
第四次 | 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
但是循环里面的代码只执行一次。
无限循环
如果条件 循环的总是 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
当迭代次数已知时使用循环。例如,
for (let i = 1; i <=5; ++i) {
// body of loop
}
还有 while
和 do...while
当迭代次数未知时,通常使用循环。例如,
while (condition) {
// body of loop
}
java