1. 什么是循环:重复的做某件事,且具有明确的开始和停止标记
2. 循环语句的分类:for,while,do…while
3. for循环
- 格式:
for(初始化语句;条件判断语句;条件控制语句){
循环体语句;
} - 执行流程:
|. 执行初始化语句
Ⅱ. 执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,执行循环体语句
Ⅲ. 执行条件控制语句
Ⅳ. 回到Ⅱ继续执行条件判断语句 - 核心:
a. 初始化语句只执行一次
b. 判断语句为true,循环继续
c. 判断语句为false,循环结束
4. for循环的累加实现
int sum = 0;
for(int i = 1;i <=100;i++){
sum += i;
}
System.out.println(sum);
- 注意点:
a. 求和的变量不能定义在循环的里面,因为变量只在所属的大括号里面有效
b. 如果我们把变量定义在循环的里面,那么当前这个变量只在本次循环中有效
c. 当本次循环结束后,当前这个变量就会从内存中消失
d. 当第二次循环开始的时候,又会重新定义一个新的这个变量
e. 快速定义for循环:例如100.fori就是for (int i=0;i<100;i++)
f. 快速定义反向for循环:例如100.forr就是for(int i=100;i > 0;i–)
结论:如果以后我们要写累加求和的变量,就把这个变量定义在循环的外面。
5. for循环的统计实现
int count = 0;
for(int i = start;i <= end;i++){
//在start到end范围中,即能被3整除,又能被5整除的数字
//有多少个?
if(i % 3 == 0 && i % 5 == 0){
count ++;
}
}
- 核心:在循环外定义一个变量用来记录结果,在循环内设计条件,当满足条件时,让该变量自增一次即可。
6. 实际编写的注意点
- 在改变条件控制语句的位置时,要注意语句体的所有情况,保证条件控制语句一定在起作用,防止出现死循环。例如:
//它会输出0 1 2 3 4 5 5 5 5 ....
//因为当i=5时,没有给i做条件控制,导致死循环。
for(int i=0;i<6;){
if (i<5){
sout (i);
i++;
}else if (i==5){
sout (i);
}
}