亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

Java while 和 do...while 循环

Java while 和 do...while 循环

在本教程中,我们将通过示例学习如何在 Java 中使用 while 和执行 while 循环。

在计算机编程中,循环用于重复一段代码。例如,如果您想显示一条消息 100 次,那么您可以使用循环。这只是一个简单的例子;你可以通过循环实现更多。

在上一教程中,您了解了 Java for 循环。在这里,您将了解whiledo...while 循环。


Java while 循环

Java while 循环用于运行特定代码,直到满足特定条件。 while 的语法 循环是:

while (testExpression) {
    // body of loop
}

在这里,

  1. 一个while 循环计算 textExpression 括号内 () .
  2. 如果 textExpression 计算结果为 truewhile里面的代码 循环被执行。
  3. 文本表达式 再次评估。
  4. 这个过程一直持续到 textExpressionfalse .
  5. 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);

在这里,

  1. 首先执行循环体。然后是 textExpression 被评估。
  2. 如果 textExpression 计算结果为 true , do 内的循环体 语句再次执行。
  3. 文本表达式 再次评估。
  4. 如果 textExpression 计算结果为 true , do 内的循环体 语句再次执行。
  5. 这个过程一直持续到 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
}

还有 whiledo...while 当迭代次数未知时,通常使用循环。例如,

while (condition) {
    // body of loop
}

java

  1. Java 变量和文字
  2. Java 表达式、语句和块
  3. Java for-each 循环
  4. Java 类和对象
  5. Java 抽象类和抽象方法
  6. Java 嵌套和内部类
  7. Java 抛出和抛出
  8. Java 自动装箱和拆箱
  9. while 和 do-while 之间的区别:用例子解释
  10. Java中使用while和for循环的回文数程序
  11. Java - 对象和类
  12. Java - 日期和时间