亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
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 (testExpression) {
    // 循环体
}

此处,

  1. while 循环评估括号内的 testExpression。
  2. 若 testExpression 为 true,执行循环体代码。
  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;
        // while 循环 1 到 5
        while(i <= n) {
            System.out.println(i);
            i++;
        }
    }
}

输出


1
2
3
4
5

程序工作原理:

迭代变量条件: i <= n动作
1sti = 1
n = 5
true1 打印。
i 增至 2。
2ndi = 2
n = 5
true2 打印。
i 增至 3。
3rdi = 3
n = 5
true3 打印。
i 增至 4。
4thi = 4
n = 5
true4 打印。
i 增至 5。
5thi = 5
n = 5
true5 打印。
i 增至 6。
6thi = 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 = " + sum);
        input.close();
    }
}

输出


输入一个数字
25
输入一个数字
9
输入一个数字
5
输入一个数字
-3
Sum = 39

上程序使用 Scanner 类获取用户输入。nextInt() 读取整数输入。

while 循环持续直到用户输入负数。每次迭代将用户输入的数字加到 sum 变量。

用户输入负数时循环终止。最后显示总和。


Java do...while 循环

do...while 循环类似 while 循环。但 do...while 循环体在检查测试表达式前先执行一次。例如:

do {
    // 循环体
} while(textExpression);

此处,

  1. 先执行循环体,然后评估 textExpression。
  2. 若 textExpression 为 true,再次执行 do 语句中的循环体。
  3. 再次评估 textExpression。
  4. 若 textExpression 为 true,再次执行循环体。
  5. 此过程持续直到 textExpression 为 false,然后循环停止。

do...while 循环流程图

精通 Java while & do-while 循环:分步教程

看看 do...while 循环的工作方式。

示例 3: 显示 1 到 5 的数字

// Java 程序显示 1 到 5 的数字
import java.util.Scanner;
// 程序求 1 到 100 自然数之和
class Main {
    public static void main(String[] args) {
        int i = 1, n = 5;
        // do...while 循环 1 到 5
        do {
            System.out.println(i);
            i++;
        } while(i <= n);
    }
}

输出


1
2
3
4
5

程序工作原理:

迭代变量条件: i <= n动作
i = 1
n = 5
未检查1 打印。
i 增至 2。
1sti = 2
n = 5
true2 打印。
i 增至 3。
2ndi = 3
n = 5
true3 打印。
i 增至 4。
3rdi = 4
n = 5
true4 打印。
i 增至 5。
4thi = 5
n = 5
true6 打印。
i 增至 6。
5thi = 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 = " + sum);
        input.close();
    }
}

输出 1


输入一个数字
25
输入一个数字
9
输入一个数字
5
输入一个数字
-3
Sum = 39

用户输入正数,该数加到 sum。此过程持续直到输入负数。输入负数时循环终止,显示总和 (不加负数)。

输出 2


输入一个数字
-8
Sum is 0

用户输入负数。测试条件为 false 但循环体仍执行一次。


无限 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 与 do-while 循环深度对比:原理、语法与实战案例全解析
  2. Java 变量与字面量:全面指南
  3. 理解 Java 表达式、语句与代码块
  4. 精通 Java 增强 for 循环:语法、示例与最佳实践
  5. Java 类与对象:实用指南
  6. Java 抽象类与抽象方法完全指南
  7. 精通 Java 嵌套类与内部类:类型、示例与最佳实践
  8. Java throw 与 throws 深度解析:异常处理实战指南
  9. 掌握 Java 自动装箱与拆箱:实战示例与最佳实践
  10. Java 回文数判断:while 循环与 for 循环两种算法实现
  11. 精通 Java:理解对象、类与核心 OOP 概念
  12. 掌握 Java 日期时间:构造器、方法与最佳实践