Java 基础知识之循环
流程控制
不论哪一种编程语言, 都会提供两种基本的流程控制结构: 分支结构和循环结构. 其中分支结构用于实现根据条件来选择性地执行某段代码, 循环结构则用于实现根据循环条件重复执行某段代码.
循环语句
1,for 循环语句格式
for(初始化语句1; 循环条件语句2; 迭代语句4){
循环体语句3}
#1243 执行顺序
for(;;){
循环体语句块;// 如果循环体中没有跳出循环体的语句, 那么就是死循环
}
注意:
(1)for(;;)中的两个; 是不能多也不能少
(2)循环条件必须是 boolean 类型
(3)如果循环条件语句2省略的话, 就默认为循环条件成立
执行流程:
第一步: 执行初始化语句1, 完成循环变量的初始化;
第二步: 执行循环条件语句2, 看循环条件语句的值是 true, 还是 false;
如果是 true, 执行第三步;
如果是 false, 循环语句中止, 循环不再执行.
第三步: 执行循环体语句3
第四步: 执行迭代语句4, 针对循环变量重新赋值
第五步: 根据循环变量的新值, 重新从第二步开始再执行一遍
循环结构 while
1,while 循环语句标准格式:
while (循环条件语句1) {
循环体语句2;
}
while(true){
循环体语句;// 如果此时循环体中没有跳出循环的语句, 也是死循环
}
注意:
while(循环条件)中循环条件必须是 boolean 类型
执行流程:
第一步: 执行循环条件语句1, 看循环条件语句的值是 true, 还是 false;
如果是 true, 执行第二步;
如果是 false, 循环语句中止, 循环不再执行.
第二步: 执行循环体语句2;
第三步: 循环体语句执行完后, 重新从第一步开始再执行一遍
循环结构 do...while
1,do...while 循环语句标准格式:
do {
循环体语句1;
} while (循环条件语句2);
注意:
(1)while(循环条件)中循环条件必须是 boolean 类型
(2)do{}while(); 最后有一个分号
(3)do...while 结构的循环体语句是至少会执行一次, 这个和 for 和 while 是不一样的
执行流程:
第一步: 执行循环体语句1;
第二步: 执行循环条件语句2, 看循环条件语句的值是 true, 还是 false;
如果是 true, 执行第三步;
如果是 false, 循环语句终止, 循环不再执行.
第三步: 循环条件语句执行完后, 重新从第一步开始再执行一遍
循环语句的区别
从循环次数角度分析
do...while 循环至少执行一次循环体语句
for 和 while 循环先循环条件语句是否成立, 然后决定是否执行循环体, 至少执行零次循环体语句
从循环变量的生命周期角度分析
for 循环的循环变量在 for()中声明的, 在循环语句结束后, 不可以被访问;
while 和 do...while 循环的循环变量因为在外面声明的, 所以 while 和 do...while 结束后可以被继续使用的;
如何选择
遍历有明显的循环次数 (范围) 的需求, 选择 for 循环
遍历没有明显的循环次数 (范围) 的需求, 循环 while 循环
如果循环体语句块至少执行一次, 可以考虑使用 do...while 循环
本质上: 三种循环之间是可以互相转换的, 都能实现循环的功能
三种循环结构都具有四要素:
(1)循环变量的初始化表达式
(2)循环条件
(3)循环变量的修改的迭代表达式
(4)循环体语句块
控制语句
1 break
使用场景: 终止 switch 或者当前循环
在选择结构 switch 语句中
在循环语句中
离开使用场景的存在是没有意义的
2 continue
使用场景: 结束本次循环, 继续下一次的循环