循环结构
1.引言:循环就是通过某个条件重复并且有规律的执行一段代码。
2.循环的组成
(1)循环变量的初始值:循环起始。
(2)循环条件:程序周而复始执行的条件。
(3)循环变量的改变(递增、递减):通过改变循环变量,控制循环条件。
(4)循环体:周而复始执行的代码。
3.分类
1.while循环
2.do…while循环
3.for循环
while循环
语法
//1.循环变量初始化
while(循环条件){ //2.循环条件
//3.循环体
//4.循环变量的改变
}
执行原理
首先做循环变量的初始化,完成后,先判断循环条件是否成立,成立后,true,则进入循环体,执行代码,代码执行结束后,对循环变量进行修改;再次判断循环条件是否成立,成立true,继续执行循环,循环变量改变,直到再次判断循环条件结果为false,则循环结束。
注意
1.先判断,再执行。执行0~n次
循环变量初始值设置的不合理或者循环条件不合理,可能导致循环一次都不执行。
2.如果循环条件不合理或者循环变量变化的不合理,可能会引发死循环,直到jvm虚拟机异常。
例如将循环条件设置为true,或不对循环变量修改。
do…while循环
语法
do{
循环体语句
}while(循环条件);
注意:行尾的分号;不要忘记!!!
执行过程
先执行循环体语句,再执行循环条件,为true则再执行循环体,执行条件为false则结束循环。
【也就是说,无论执行条件是否符合,都会先执行一次!】
特点:先执行,后判断。
while和do-while的区别比较:
public class TestDoWhile{
public static void main(String[] args){
int i = 1;
while(i <= 5){
System.out.println(i);
i ++;
}
System.out.println("----------------");
int j = 1;
do{
System.out.println(j);
j ++;
}while(j <= 0); //j = 1并不满足循环条件,但依旧会输出一次
System.out.println("----------------");
int k = 1;
while(k <= 0){ //k = 1不满足条件,所以直接不进入循环
System.out.println(k);
k ++;
}
System.out.println("----------------");
}
}
执行次数
1—n次
适用场景
常用于循环次数不确定的情况(如dos界面提示菜单显示)
for循环【开发重点】
语法:
for(初值; 循环条件; 递增迭代部分){
//循环体语句
}
执行过程:
先执行初值部分,然后执行判断条件为真则执行循环体,递增,判断为真,则继续执行循环体,递增,直到不满足循环条件则跳出循环。
案例:
用for循环输出十次Hello
public class TestFor1{
public static void main(String[] args){
//输出10次hello
for(int i = 1; i <= 10; i ++){
System.out.println("Hello..." + i);
}
System.out.println("end...");
}
}
循环控制语句
break:用在switch中用于退出分支结构,用于循环中用于跳出整个循环。
**continue:**用在循环中用于跳出本次循环,继续后面次数的循环。
循环嵌套
1.外层循环一次,内层循环多次
循环嵌套中循环体的执行次数 = 外层次数 * 内层次数
2.外层控制行,内层控制列
经典输出三角例题
//外层循环1次,内层循环n次
for(int i = 1; i <= 3; i ++){ //i = 1 t
for(int j = 1; j <= 2; j ++){//j = 1 t j = 2 t j = 3 f
//i = 1 j = 1
//i = 1 j = 2
System.out.println("i=" + i + "j=" + j);
}
}