for(条件表达式1;条件表达式2;条件表达式3) {
语句块;
}
for 循环中 3 个条件表达式的含义如表 1 所示。| 表达式 | 形式 | 功能 | 举例 |
|---|---|---|---|
| 条件表达式 1 | 赋值语句 | 循环结构的初始部分,为循环变量赋初值 | int i=1 |
| 条件表达式 2 | 条件语句 | 循环结构的循环条件 | i>40 |
| 条件表达式 3 |
迭代语句,通常使用 ++ 或 -- 运算符 |
循环结构的迭代部分,通常用来修改循环 变量的值 |
i++ |
public static void main(String[] args) {
int result = 1;
for (int number = 1; number <= 5; number++) {
result *= number;
}
System.out.print("5 的阶乘结果是:" + result); // 输出"5的阶乘结果是:120"
}
上述语句的含义可以理解为,将 number 变量的值从 1 开始,每次递增 1,直到大于 5 时终止循环。在循环过程中,将 number 的值与当前 result 的值进行相乘。
public static void main(String[] args) {
int result = 0;
int number = 1; // 相当于for语句的第1个表达式
for (; number < 101; number++) {
if (number % 2 != 0) // 如果不能整除2,说明是奇数,则进行累加
result += number;
}
System.out.print("100 以内所有奇数和为:" + result);
}
执行后的输出结果如下:
100 以内所有奇数和为:2500
public static void main(String[] args) {
int result = 0;
for (int number = 1;; number++) {
if (number > 100)
break; // 相当于for语句的表达式2,满足时就退出for循环
if (number % 2 != 0) // 如果不能整除2,说明是奇数,则进行累加
result += number;
}
System.out.print("100 以内所有奇数和为:" + result);
}
public static void main(String[] args) {
int result = 0;
for (int number = 1; number < 101;) {
if (number % 2 != 0) // 如果不能整除2,说明是奇数,则进行累加
result += number;
number++; // 相当于for语句的条件表达式3,每次递增1
}
System.out.print("100 以内所有奇数和为:" + result);
}
如果没有循环体语句,number 变量的值为 1,永远小于 101,因此将无法结束循环,形成无限循环。在上面代码中将 number 的递增语句放在 for 循环体内,效果与完整 for 语句功能相同。
public static void main(String[] args) {
int result = 0;
int number = 1; // 相当于for语句的条件表达式1
for (;;) {
if (number > 100)
break; // 相当于for语句的条件表达式2
if (number % 2 != 0) // 如果不能整除2,说明是奇数,则进行累加
result += number;
number++; // 相当于for语句的条件表达式3
}
System.out.print("100 以内所有奇数和为: " + result);
}
public static void main(String[] args) {
int sum = 0;
int num = 0;
Scanner sc = new Scanner(System.in);
for (int i = 1; i <= 6; i++) {
System.out.println("请输入第" + i + " 个月的销售数量:");
num = sc.nextInt();
sum += num;
}
System.out.println("上半年的销售总量为:" + sum);
}
在该程序中, 声明循环变量 i,控制循环的次数,它被初始化为 1。每执行一次循环,都要对 i 进行判断,看其值是否小于等于 6,条件成立则继续累加成绩,否则退出循环。请输入第1 个月的销售数量: 6840 请输入第2 个月的销售数量: 5449 请输入第3 个月的销售数量: 6546 请输入第4 个月的销售数量: 2400 请输入第5 个月的销售数量: 908 请输入第6 个月的销售数量: 8048 上半年的销售总量为:30191一般选择循环变量时,习惯选择 i、j、k 来作为循环变量。
| 名称 | 概念 | 适用场景 | 特点 |
|---|---|---|---|
| for | 根据循环次数限制做多少次重复操作 | 适合循环次数是已知的操作 |
|
| while | 当满足什么条件的时候,才做某种操作 | 适合循环次数是未知的操作 |
|
| do-while | 先执行一次,在判断是否满足条件 | 适合至少执行一次的循环操作 |
|
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i < 11; i++) {
sum = sum + i;
}
System.out.println(sum);
}
运行结果为 55。
public static void main(String[] args) {
int sum = 0;
int i = 1;
do {
sum = sum + i;
i++;
} while (i < 11);
System.out.println(sum);
}
运行结果为 55。
public static void main(String[] args) {
int sum = 0;
int i = 1;
while (i < 11) {
sum = sum + i;
i++;
}
System.out.println(sum);
}
运行结果为 55。
版权说明:Copyright © 广州松河信息科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州松河信息科技有限公司 版权所有