理解 Java 中的 for 循环
for
循环是 Java 中用于迭代的常用控制结构,它可以帮助我们重复执行某段代码,直到满足特定条件。本文将介绍 for
循环的基本语法、执行流程、注意事项及一些练习。
基本语法
for
循环的基本语法如下:
for (循环变量初始化; 循环条件; 循环变量迭代) {
循环操作(可以多条语句);
}
执行顺序
在 for
循环中,执行顺序如下:
- 初始化:设置循环变量的初始值。
- 条件判断:判断循环条件是否为
true
。 - 执行循环体:如果条件为
true
,执行循环体内的操作。 - 变量迭代:执行完循环体后,更新循环变量的值。
- 重复:重复步骤 2-4,直到条件为
false
。
示例代码
下面是一个简单的示例,输出 0
到 9
的数字:
public class For01 {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
System.out.println("Yhame 在学习java!" + i);
}
}
}
执行流程分析
在上述代码中,循环变量 i
从 0
开始,每次循环后自增 1
,直到 i
不再小于 10
,循环结束。
注意事项和细节说明
- 布尔值:
for
循环条件必须返回一个布尔值。 - 初始化和迭代:
for
循环中的初始化和变量迭代可以在其他地方定义,但分号不能省略。 - 多条初始化和迭代:可以在循环中使用多条初始化语句(类型相同),用逗号分隔;迭代也同理。
- 内存分析法:在使用
for
循环时,合理分析内存使用可以提高程序性能。
代码示例
以下示例展示了如何在 for
循环外部初始化变量,并使用死循环的方式:
public class ForDetail {
public static void main(String[] args) {
int i = 1; // 循环变量初始化
for (; i <= 10; ) {
System.out.println("Hello " + i);
i++;
}
System.out.println("i = " + i); // 输出 i = 11
// 补充:无限循环
// int j = 0;
// for (;;) {
// System.out.println("ok" + (j++));
// }
int count = 3;
for (int i = 0, j = 0; i < count; i++, j += 2) {
System.out.println("i = " + i + "; j = " + j);
}
}
}
练习题
练习一
打印 1 ~ 100
之间所有是 9
的倍数的整数,统计个数及总和。
[化繁为简] [先死后活]
- 化繁为简 : 即将复杂的需求,拆解成简单的需求, 逐步完成
- 先死后活 : 先考虑固定的值,然后转成可以灵活变化的值
// 化繁为简 : 即将复杂的需求,拆解成简单的需求, 逐步完成
// 先死后活 : 先考虑固定的值,然后转成可以灵活变化的值
//(1) 完成输出 1 - 100 的值
//(2) 在输出的过程中,进行过滤,只输出9 的倍数 i % 9== 0
// (3) 统计输出个数 ,定义一个变量 int count = 0; 当条件满足的时 count ++ ;
public class ForExercise {
public static void main(String[] args) {
int count = 0;
int sum = 0;
for (int i = 1; i <= 100; i++) {
if (i % 9 == 0) {
System.out.println("是9的倍数的整数 = " + i);
count++;
sum += i;
}
}
System.out.println("一共有 " + count + " 个数");
System.out.println("总和为 " + sum);
}
}
结果
改进练习一 (编程思想)
将初始值和结束值 赋值 为变量,增强代码的灵活性:
//(1) 为了适应更好的需求,把范围的开始的值和结束的值,做成 变量
// (2) 还可以进一步把 倍数也设置成一个变量 int t = 9;
public class ForExercise {
public static void main(String[] args) {
int count = 0;
int sum = 0;
int start = 1;
int end = 100;
int t = 9;
for (int i = start; i <= end; i++) {
if (i % t == 0) {
System.out.println("符合整数 = " + i);
count++;
sum += i;
}
}
System.out.println("一共有 " + count + " 个数");
System.out.println("总和为 " + sum);
}
}
练习二
输出 0
到 10
的数字及其对应的和为 10
的组合。
// 先死后活
//(1)先输出加数 0 - 10
//(2)后面应该被加数的都是 10 -i
public class ForExercise02 {
public static void main(String[] args) {
int n = 10;
for (int i = 0; i <= n; i++) {
System.out.println(i + " + " + (n - i) + " = " + n);
}
}
}
结论
for
循环是 Java 编程中的基础和重要组成部分。通过灵活的控制结构,可以轻松实现复杂的逻辑。希望本文能帮助你更好地理解和应用 for
循环。