循环在生活中随处可见,循环语句可以在满足循环条件的情况下,反复执行某一段代码。这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。
PS:在使用循环之前,需要先搞清楚“什么时候要做什么事”。因为循环不能一直不停。所有的循环结构嵌套不要多于三层,循环一定要有循环条件
循环结构的组成:
1.初始化语句。
一条或者多条语句,这些语句完成一些初始化操作。
2.判断条件语句。
这是一个boolean 表达式,这个表达式能决定是否执行循环体
3.循环体语句。
这个部分是循环体语句,也就是我们要多次执行的代码块
4.迭代
这个部分是改变循环变量值的,让循环能在合适的时候退出
一、for循环
for循环主要用于循环次数已知的情况下
for(声明循环变量; 判断循环条件; 迭代){
执行循环代码
}
//执行顺序:声明循环变量——>判断循环条件——>执行循环代码——>迭代——>判断循环条件......
案例
public static void main(String[] args) {
// 控制台输出1~5
for (int i = 1; i < 6; i++) {
System.out.println(i);
}
System.out.println(" ");
// 控制台输出5~1
for (int i = 5; i >=1; i--) {
System.out.println(i);
}
// 控制台输出1~100的和
int sum=0;
for (int a = 1; a < 101; a++) {
sum += a;
}
System.out.println(sum);
}
PS:
- 判断条件语句的结果是一个boolean类型
- 循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略
- for循环中的循环变量在循环外部无法使用
-
二、while循环
while循环主要用于循环次数未知的情况下
声明循环变量 while(循环判断){ 被循环的代码块 迭代 }
// 世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。请问,我折叠多少次,可以折成珠穆朗玛峰的高度? //定义一个变量接收计算后的值 int count = 0; //定义纸张厚度 double paper=0.1; //定义珠穆朗玛峰高度 int zhufeng=8844430; while (paper<=zhufeng){ // paper=paper*2 paper *=2; count++; } System.out.println("折叠"+count+"次,可以折成珠穆朗玛峰的高度");
for循环语句和while循环语句可以等价转换,循环需要的内容只是换了位置而已。
不同点:
1. 在for循环中声明的循环变量无法在循环外部使用,而while循环却是在循环结构外部声明的循环变量,所以即便循环结束,也可以继续使用。
2. for循环的循环变量在循环结束后会直接被销毁,更合理的使用内存空间。
3. for和while的结构不同三、do...while循环
do...while循环也是while循环,所以它也用于循环次数未知的情况下,但它与while循环的区别是,它会优先执行一次循环体的内容