for 循环控制
- 基本介绍:听其名而知其意,就是让你的代码可以循环的执行.
1. 基本语法
说明
- for 关键字,表示循环控制
- for 有四要素: (1)循环变量初始化(2)循环条件(3)循环操作(4)循环变量迭代
- 循环操作 , 这里可以有多条语句,也就是我们要循环执行的代码
- 如果 循环操作(语句) 只有一条语句,可以省略 {}, 建议不要省
2. for 循环执行流程分析
1) 使用 for 循环完成前面的题
for (int i = 1;i <= 10;i++){
System.out.println("你好,兮动人"+i);
}
2) 画出 for 流程
3. 注意事项和细节说明
ForDetail.java
1) 循环条件是返回一个布尔值的表达式
2) for(;循环判断条件;)
中的初始化和变量迭代可以写到其它地方,但是两边的分号不能省略。如:
int i = 1;
for (;i <= 10;) {
System.out.println("你好,兮动人"+i);
i++;
}
- 一个死循环操作:定义一个变量 j 观察变化
for(;;){
System.out.println("你好,兮动人"+(j++));
}
3) 循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开,循环变量迭代也可以有多条变量迭代语句,中间用逗号隔开。
4) 使用内存分析法,分析输出下面代码输出什么?
int count = 3;
for (int i = 0,j = 0; i < count; i++,j += 2) {
System.out.println("i=" + i + "j=" + j);
}
4. for 循环练习题
ForExercise.java
1) 打印 1~100 之间所有是 9 的倍数的整数,统计个数及总和. [化繁为简,先死后活]
//1. 化繁为简 : 即将复杂的需求,拆解成简单的需求,逐步完成
//2. 先死后活 : 先考虑固定的值,然后转成可以灵活变化的值
//
//思路分析
//打印1~100之间所有是9的倍数的整数,统计个数 及 总和
//化繁为简
//(1) 完成 输出 1-100的值
//(2) 在输出的过程中,进行过滤,只输出9的倍数 i % 9 ==0
//(3) 统计个数 定义一个变量 int count = 0; 当 条件满足时 count++;
//(4) 总和 , 定义一个变量 int sum = 0; 当条件满足时累积 sum += i;
int count = 0; //统计9的倍数个数 变量
int sum = 0; //总和
for(int i = 9; i <= 100; i++) {
if( i % 9 == 0) {
System.out.println("i=" + i);
count++;
sum += i;//累积
}
}
System.out.println("count=" + count);
System.out.println("sum=" + sum);
- 灵活变通,把初始值和结束值、和 倍数值分别用变量替换。
//先死后活
//(1) 为了适应更好的需求,把范围的开始的值和结束的值,做出变量
//(2) 还可以更进一步 9 倍数也做成变量 int t = 9;
int count = 0; //统计9的倍数个数 变量
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=" + i);
count++;
sum += i;//累积
}
}
System.out.println("count=" + count);
System.out.println("sum=" + sum);
2) 完成下面的表达式输出 [ForExercise02.java]
// 1.化繁为简
// (1) 先输出 0 - 5
// (2) 后面的+号的数是 5 - i
// 2.先死后活
//(1) 5 替换成变量 n
int n = 5;
for( int i = 0; i <= n; i++) {
System.out.println(i + "+" + (n-i) + "=" + n);
}