一、循环
1.概念:
通过某个条件,重复并且有规律执行一段代码。
2.循环的组成部分:
- 循环的变量的初始化:循环起始
- 循环条件:程序周而复始执行的条件
- 循环变量的改变(递增、递减):通过改变循环变量,控制循环
- 循环体:周而复始执行的代码
3.循环的分类:
(1) while循环
(2) do….while循环
(3) for循环
1.语法:
// 1. 循环的初始化 while(循环条件){ // 2. 循环条件 // 3. 循环体 // 4. 循环变量改变 }
2.while循环执行的原理
(1) 原理:先完成循环变量的初始化,需要判断循环条件是否成立,成立-true,则执行循环体,然后循环变量的改变;再次判断循环条件是否成立,成立-true,继续执行循环,循环的改变…..直到循环条件结果为false,则循环跳出;继续执行循环结构后续的代码。
(2) 特点:先判断,再执行,执行次数 0~n次。
(3) 注意:
a. 如果循环初始化给的不合理,有可能导致循环一次都不能执行
b. 如果循环条件给的不合理、循环变量没有发生改变,都有可能出现死
循环(循环会无穷尽的进行,直到jvm异常)
如果循环条件直接给的为true,也代表死循环
三.do..while循环
1.语法:
// 1. 循环变量的初始化 do{ // 2. 循环体 // 3. 循环变量的改变 }while(循环条件); // 分号不能省略
2.执行原理:
(1) 先完成循环变量的初始化,然后直接执行do{}中的循环体,同时改变循环变量;然后判断循环条件,条件成立-true,则再次执行do{}中的循环体,改变循环变量,再次判断循环条件….直到循环条件为false,则循环结束。 (2) 执行的特点:先执行,再判断,执行次数 1~n次。
四、for循环【开发实际应用重点】
1.语法:
for(循环变量的初始化;循环条件;循环变量的改变){ // 循环体 }
2.执行的原理
(1) 执行原理:首先执行循环变量的初始化,然后判断循环条件是否成立,成立,则执行循环体,然后执行循环变量的改变;接着再次判断循环条件是否成立,成立,则继续执行循环体,然后执行循环变量的改变;再次判断循环条件是否成立….直到循环条件为false,则跳出循环。
(2) 执行的特点:先判断,再执行,执行次数0~n次
3.for循环的注意事项:
(1) 如果for的循环变量初始化的数据给的不合理,则有可能循环体一次都执行不到 (2) for后面()中循环变量的初始化如果定义在for循环前面,语法没问题,但是定义for外面,增大循环变量的作用范围,循环结束之后,此循环变量还可以再用,浪费空间。 int i = 1; // 浪费空间 for( ; i<=10;i++){} 如果循环变量定义在for()中,此变量只能在当前的循环中使用,循环一旦结束,则循环变量失效,空间利用率较高,建议使用。 for(int i=1;i<=10;i++){} (3) 循环条件如果写了空语句,则循环条件默认为true,为死循环。 for(int i=1; ;i++){} (4) 循环变量的改变可以定义在for循环的{}中,但是不能重复定义循环变量的改变 for(int i=1;i<=10; ){ System.out.println("i="+i); i++; }
五.循环控制语句 【重点】
1.break:
break终止、结束循环,跳出循环结构
2.continue:
continue:结束、跳出本次循环,从而进入下一次循环。
六、循环的嵌套
1.概念:在一个循环结构中定义另一个循环结构。
// 外层循环 for(int i=1;i<=5;i++){ // 内层循环 for(int j=1;j<=3;j++){} }
2.循环次数:外层循环次数*内层循环次数
3.break和continue在循环嵌套中的使用
- break:终止、跳出本层循环,结束所在那一层的循环结构
(如果break在内层循环中,结束内层循环,从而跳入外层循环) - continue:结束本层、本次循环,从而进入本层的下一次循环