前言:菜鸟一枚,如有问题欢迎大家在评论区指出,我们一起学习。
1.4.1:while循环
while循环结构:
while (循环条件语句①) {
循环体语句②;
}
//当循环条件语句1为true时,进入循环执行循环体语句2,若此时循环条件语句1仍然满足,则继续执行循环体语句。
死循环:while循环只要循环条件满足true则会执行循环体,若是循环条件永远不为flase,则会一直执行循环。
常见三种死循环:
(1):while(true),循环条件为常量true,永远成立。
(2):while(循环条件),循环条件中变量值永远不修改,循环条件则会一直成立
(3):while():循环条件不能为空
注意:while(1)既不是死循环,也不能正常执行。但在c语言等其他语言while(1)是死循环。因为c语言中1可以为Boolean类型 true,java中两者是不相容的。
1.4.2:do...while循环
do...while循环结构:
do {
循环体语句①;
} while (循环条件语句②);
// do...while循环不同于while循环和for循环,do...while循环总是会执行一次循环语句1,再去判断循环条件语句2是否满足。
注意:do...while也有死循环,和while循环一样,但是在写do...while循环时不要忘记while()后面有个分号。
1.4.3:for循环
for循环结构:
for(初始化语句①; 循环条件语句②; 迭代语句④){
循环体语句③
}
//先执行初始化语句1,然后执行循环条件语句2,接着进入循环体语句3,最后执行迭代语句4.
注意:()里面三个语句都可以省略,但是两个分号不能省略。初始化语句可以省略,但是在for循环之前,循环条件中的变量必须已被初始化;循环条件语句也可以省略,省略该语句会导致该循环为死循环;迭代语句也可以省略,但是如果循环体语句中没有能改变循环条件语句中变量值的语句,该循环也会成为死循环。
1.4.4:break和continue
break使用场景:终止switch和当前循环
continue使用场景:跳过本次循环提前进入下一次循环,不同于break直接终止循环
作用范围:他们在使用时,作用域是包含它最近的循环或者switch,并不是离他最近的循环语句。并且在执行continue或者break语句后,该循环体中位于该语句后的语句都不会执行。
1.4.5:三种循环语句的选择
(1):遍历有明显的循环次数(范围)的需求,选择for循环
(2):遍历没有明显的循环次数(范围)的需求,循环while循环
(3):如果循环体语句块至少执行一次,可以考虑使用do...while循环
本质上:三种循环之间完全可以互相转换,都能实现循环的功能
1.4.6:循环嵌套
三种循环语句都可以嵌套使用,在使用时,外循环运行一次,内循环会执行一整轮(循环结束),然后再次运行外循环,直到外循环一整轮结束,该嵌套循环才执行完毕。
for循环嵌套例子:打印九九乘法表
public class TestEleven {
public static void main(String[] args) {
for (int i = 1; i < 10; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + "*" + i + "=" + i*j + " ");
}
System.out.println();
}
}
}