for(条件表达式1;条件表达式2;条件表达式3) { 语句块; }for 循环中 3 个条件表达式的含义如表 1 所示。
表达式 | 形式 | 功能 | 举例 |
---|---|---|---|
条件表达式 1 | 赋值语句 | 循环结构的初始部分,为循环变量赋初值 | int i=1 |
条件表达式 2 | 条件语句 | 循环结构的循环条件 | i>40 |
条件表达式 3 |
迭代语句,通常使用 ++ 或 -- 运算符 |
循环结构的迭代部分,通常用来修改循环 变量的值 |
i++ |
图 1 for循环执行流程图
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。
本文链接:http://task.lmcjl.com/news/10132.html