do - while 与 while的Java代码示例
时间: 2023-11-10 21:46:24 浏览: 32
当我听到关于do-while和while的问题时,我感到非常受欢迎!下面是一些Java代码示例:
while (条件) {
// 循环代码
}
do {
// 循环代码
} while (条件)
在while循环中,先检查条件是否为真,然后再执行循环的代码。在do-while循环中,先执行一次循环代码,然后再检查条件是否为真。因此,即使条件一开始就不为真,do-while循环也会执行至少一次。
请注意,无论您使用哪种类型的循环,都要确保循环条件在某个时刻会变为false,以避免无限循环。
相关问题
杨辉三角形do-while
杨辉三角形是一个数字排列的三角形,其中每个数字都是它上方两个数字的和。它的第一行只有一个数字1,第二行有两个数字1,第三行有三个数字1……以此类推。以下是一个使用do-while循环来打印杨辉三角形的示例代码:
```java
int numRows = 5;
int[][] triangle = new int[numRows][];
int row = 0;
do {
triangle[row] = new int[row + 1];
for (int i = 0; i <= row; i++) {
if (i == 0 || i == row) {
triangle[row][i] = 1;
} else {
triangle[row][i] = triangle[row - 1][i - 1] + triangle[row - 1][i];
}
System.out.print(triangle[row][i] + " ");
}
System.out.println();
row++;
} while (row < numRows);
```
用do-while循环计算n的阶乘
以下是用do-while循环计算n的阶乘的示例代码(Java语言):
```
import java.util.Scanner;
public class Factorial {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a non-negative integer: ");
int n = scanner.nextInt();
int i = 1;
long result = 1;
do {
result *= i;
i++;
} while (i <= n);
System.out.println(n + "! = " + result);
}
}
```
用法说明:
1. 代码首先要求用户输入一个非负整数n,即要求计算n的阶乘。
2. 初始化一个计数器变量i为1,以及一个结果变量result为1。
3. 使用do-while循环来迭代计算阶乘的值。每次循环中,乘以当前计数器变量i的值,并将计数器变量i加1。
4. 循环迭代直至计数器变量i的值大于n。
5. 输出计算结果。
注意事项:
1. 当输入的n值比较大时(如n=20、30、50等),计算n的阶乘会溢出long类型的范围,导致结果不准确。此时应该考虑使用高精度计算或其他算法。
2. 循环体中应该使用long类型的变量来保存结果,以避免因结果过大而产生的溢出问题。