用java分别用for、while和do-while循环语句以及递归方法计算n!
时间: 2024-09-16 11:03:17 浏览: 51
在Java中,我们可以使用for、while、do-while和递归的方式计算阶乘(n!)。以下是各种方法的示例:
1. **for 循环**:
```java
public long factorialFor(int n) {
if (n == 0 || n == 1) return 1;
long result = 1;
for (int i = 2; i <= n; i++) {
result *= i;
}
return result;
}
```
2. **while 循环**:
```java
public long factorialWhile(int n) {
int i = 2;
long result = 1;
while (i <= n) {
result *= i;
i++;
}
return result;
}
```
3. **do-while 循环**:
```java
public long factorialDoWhile(int n) {
int i = 2;
long result = 1;
do {
result *= i;
i++;
} while (i <= n);
return result;
}
```
4. **递归方法**:
```java
public long factorialRecursive(int n) {
if (n == 0 || n == 1) return 1;
else return n * factorialRecursive(n - 1);
}
```
请注意,由于递归可能会导致栈溢出,对于较大的n值,应谨慎使用递归。
阅读全文