目录
一、循环结构
1.while循环
定义变量并赋初始值 while(循环条件){ // 循环体 } 要改变循环变量
注意:在循环体中要动态改变循环变量
-
关键字 while 后的小括号中的内容是循环条件。
-
循环条件是一个布尔类型的表达式,它的值为 true 时执行循环体,它的值为 false时终止循环。
-
大括号中的语句是循环体。
-
while 循环是先判断条件是否成立,再决定是否执行循环体。如果第一次循环时,循环条件为 false,那么循环将一次也不执行。
2.do...while循环
循环变量初始化 do { 循环体 } while (循环条件);
-
do-while 循环以 do 开头。
-
一对大括号中是循环体。
-
while 关键字和后面的小括号中是循环条件
-
do-while 循环是先执行一遍循环体,然后再判断循环条件是否成立,即使循环条件不成立,那么也至少执行了一遍循环体。
3.for循环
-
for(表达式1;表达式2;表达式3){
// 循环体
} 表达式1可以是循环变量初始化 表达式2循环条件 表达式3可以是改变循环变量 for(循环变量初始化;循环条件;改变循环变量){ // 循环体 } 执行顺序:** 1.执行表达式1(循环变量初始化) 2.执行表达式2(判断循环条件) 3.如果表达式2返回true
(循环条件成立),执行循环体,如果表达式2返回false
,结束循环,不进行之后的操作。 4.执行表达式3(改变循环变量) 5.重复2操作
注意:表达式1
只执行1次**
for 循环以关键字 for 开头。
一对大括号中是循环体。
表达式 1 是循环变量初始化,表达式 2是循环条件,表达式 3 是改变循环变的值,无论循环执行多少次,表达式 1 只执行一次。
4.嵌套for循环
将一个循环放在另一个循环体内,就形成了嵌套循环。其中,for、while、do...while 均可以作为外层循环或内层循环。
实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的循环。
设外层循环次数为m次,内层为n次,则内层循环体实质上需要执行m*n次。
通俗讲就是,存在至少2层for循环,根据外层的条件,判断里层能否执行;如果能执行,就把里层代码都循环完毕后,再继续判断是否执行外层循环的下一次循环。
-
while 循环是外循环,for 循环是内循环。
-
外循环每循环一次,内循环就从头到尾完整地循环一遍。
-
while 循环、do-while 循环、for 循环都可以相互套。
二、while、do...while、for循环区别
-
for 适合循环次数已知/每次都要改变循环变量的情况
-
while 适合循环次数不确定的情况
-
do-while 相对于 while 来说,至少要执行一次的情况
三 、break 、continue、return的使用
1.break 的使用
-
break 语句用于终止某个语句块的执行。
-
在循环中遇到break语句时,循环被终止,在循环后面的语句重新开始。
-
break 语句能使用于任何Java循环中,包括人们有意设置的无限循环
-
switch 循环语句中break 仅影响 switch 语句,不会影响循环。
-
在一系列嵌套循环中使用break 语句时,它将仅仅终止最里面的循环。 语法:
{ ...... break; ......}
break 的使用练习:
public class Testapp1 { public static void main(String[] args) { // 外循环,循环5次 for (int i = 0; i < 5; i++) { System.out.print("第" + (i + 1) + "次循环:"); // 内循环,设计为循环10次 for (int j = 0; j < 10; j++) { // 判断j是否等于3,如果是,则终止循环 if (j == 3) { break; } System.out.print("内循环的第" + (j + 1) + "次循环\t"); } System.out.println(); } } }
2.continue的使用
-
continue 只能使用在循环结构中
-
continue 语句用于跳过其所在循环语句块的一次执行,
-
continue 语句是用来加速循环
-
continue练习:
public class Testapp1 { public static void main(String[] args) { for (int i = 1; i < 10; i++) { if (i%3 == 0) { continue;
3.retutn 的使用
-
return :并非专门用于结束循环的,它的功能是结束一个方法,当一个方法执行到一个return语句时,这个方法将被结束。
-
与break 和 continue 不同的是,return 直接结束整个方法,不管这个return 处于多少层循环之内。
练习:
public class Testapp1 { public static void main(String[] args) { // 外循环,循环5次 // 循环 打印 1-10 如果是3的倍数,则不打印 for (int i = 1; i < 10; i++) { if (i%3 == 0) { //continue; return; //直接退出main函数 } System.out.println(i); } } }
4.总结:
-
break 只能用于switch 语句和循环语句中。
-
continue 只能用于循环语句中。
-
二者功能类似,但continue 是终止本次循环,break 是终止本层循环。
-
break、continue 之后不能有其他的语句,因为程序永远不会执行其后的语句。
-
标号语句必须紧接在循环的头部。标号语句不能用在非循环语句的前面。