本文目录导读:

我来为你详细介绍Java循环的基础编写方法,包含最常见的三种循环结构和实际案例。
Java三种基本循环结构
for循环
语法格式:
for (初始化; 条件判断; 更新) {
// 循环体
}
基础示例:
// 打印1到5
for (int i = 1; i <= 5; i++) {
System.out.println(i);
}
while循环
语法格式:
while (条件) {
// 循环体
}
基础示例:
int i = 1;
while (i <= 5) {
System.out.println(i);
i++;
}
do-while循环
语法格式:
do {
// 循环体
} while (条件);
基础示例:
int i = 1;
do {
System.out.println(i);
i++;
} while (i <= 5);
实战案例
案例1:计算1到100的和
public class SumCalculator {
public static void main(String[] args) {
// 方法1:for循环
int sum1 = 0;
for (int i = 1; i <= 100; i++) {
sum1 += i;
}
System.out.println("for循环求和结果:" + sum1);
// 方法2:while循环
int sum2 = 0;
int i = 1;
while (i <= 100) {
sum2 += i;
i++;
}
System.out.println("while循环求和结果:" + sum2);
}
}
案例2:打印九九乘法表
public class MultiplicationTable {
public static void main(String[] args) {
// 外层循环控制行数
for (int i = 1; i <= 9; i++) {
// 内层循环控制列数
for (int j = 1; j <= i; j++) {
System.out.print(j + "*" + i + "=" + (i*j) + "\t");
}
System.out.println(); // 每行结束后换行
}
}
}
案例3:猜数字游戏
import java.util.Scanner;
import java.util.Random;
public class GuessNumber {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Random random = new Random();
// 生成1-100的随机数
int target = random.nextInt(100) + 1;
int guess;
int attempts = 0;
System.out.println("猜数字游戏开始!(1-100)");
do {
System.out.print("请输入你猜的数字:");
guess = scanner.nextInt();
attempts++;
if (guess > target) {
System.out.println("太大了,再小一点!");
} else if (guess < target) {
System.out.println("太小了,再大一点!");
} else {
System.out.println("恭喜你猜对了!用了" + attempts + "次");
}
} while (guess != target);
scanner.close();
}
}
循环控制语句
break语句 - 跳出循环
// 找到第一个能被3整除的数
for (int i = 1; i <= 10; i++) {
if (i % 3 == 0) {
System.out.println("找到了:" + i);
break;
}
}
continue语句 - 跳过本次循环
// 打印1-10中的偶数
for (int i = 1; i <= 10; i++) {
if (i % 2 != 0) {
continue; // 奇数跳过
}
System.out.println(i);
}
常见错误与注意事项
-
死循环问题
// 错误示例 while (true) { System.out.println("死循环"); } // 正确做法需要设置退出条件 -
循环变量更新
// 错误:忘记更新循环变量 int i = 1; while (i <= 10) { System.out.println(i); // i++; // 忘记这行会导致死循环 } -
边界条件
// 注意是小于还是小于等于 for (int i = 0; i < 10; i++) { // 0到9 for (int i = 0; i <= 10; i++) { // 0到10
练习题
尝试编写以下程序:
- 输出所有水仙花数(三位数,各位数字立方和等于本身)
- 打印等腰三角形(使用星号)
- 菲波那契数列(输出前20项)
参考答案(水仙花数):
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
int a = i / 100; // 百位
int b = i / 10 % 10; // 十位
int c = i % 10; // 个位
if (a*a*a + b*b*b + c*c*c == i) {
System.out.println(i + "是水仙花数");
}
}
}
}
掌握这些基础后,你就可以编写各种循环程序了,建议多加练习,循环是编程中最基础也最重要的概念之一。