基本语法
for(循环变量初始化;循环条件;循环遍历迭代){
循环操作(可以多条语句);
}
说明
1.for关键字,表示循环控制
2.for有四要素:(1)循环变量初始化 (2)循环条件 (3)循环遍历迭代 (4)循环操作
3.循环操作,这里可以有多条语句,也就是我们要循环执行的代码
4.如果 循环操作(语句)只有一条语句,可以省略{ },建议不要省略
执行流程
注意事项
1.循环条件是返回一个布尔值的表达式(True或Faulse)
2.for(;循环判断条件;)中的初始化和变量迭代可以写到其他地方但是两边的分号不能省略
(适用于在for循环结束以后还要再使用到初始化这个变量)
int i = 0; //循环变量初始化
for(;i <= 8;){
循环语句
i++;
}
//等价于
for(int i = 0;i <= 8;i++){
循环语句
}
3.循环变量初始化可以有多条初始化语句,但要求类型一样。并且中间用逗号隔开。循环变量迭代也可以有多条变量迭代语句,中间用逗号隔开。循环判断条件只能有一条。
for(int i = 0,j = 0; i < 3; i++,j += 2){
System.out.println("i = " + i +" j = " + j);
}
练习
打印1-100之间所有是9的倍数的整数,统计个数和总和
public class ForTest{
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(i + "是9的倍数" );
sum += i;
count++;
}
}
System.out.println("9的倍数有" + count+ "个\n" +
"总和是:" + sum);
}
}
编程思想:
1.化繁为简:将复杂的需求,拆解成简单的需求,逐步完成
2.先死后活:先考虑固定的值,然后转成可以灵活变化的值
若想改变范围不是1-100,也不是找出9的倍数
设置一个start,end和temp
import java.util.Scanner;
public class ForTest{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入开始的范围值:");
int start = sc.nextInt();
System.out.println("请输入结束的范围值:");
int end = sc.nextInt();
int count = 0;
int sum = 0;
System.out.println("请输入求取哪个数的倍数:");
int temp = sc.nextInt();
for(int i = start;i <= end;i++){
if(i % temp == 0){
System.out.println(i + "是" + temp + "的倍数");
sum += i;
count++;
}
}
System.out.println("是" + temp + "的倍数有" + count+ "个\n" +
"总和是" + sum);
}
}
完成下面表达式输出
public class ForTest{
public static void main(String[] args){
int i = 0;
int j = 5;
int sum = i + j;
for(;i <=5;i++,j--){
System.out.println(i + "+" + j + "=" + sum);
}
}
}
public class ForTest{
public static void main(String[] args){
int i = 0;
for(;i <= 5;i++){
System.out.println(i + "+" + (5 - i) + "=" + 5);
}
}
}
先死后活:先考虑固定的值,然后转成可以灵活变化的值。我要改变5的值
import java.util.Scanner;
public class ForTest{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
int n = sc.nextInt();
int i = 0;
for(;i <= n;i++){
System.out.println(i + "+" + (n - i) + "=" + n);
}
}
}