前言
1.1 流程控制语句是什么?
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。所以,我们必须清楚每条语句的执
行流程。而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能。
1.2 流程控制语句的分类
顺序结构
分支结构(if, switch)
循环结构(for, while, do…while)
1.3 顺序结构
顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多
数的代码都是这样执行的。
1.4分支结构之if语句
if(a>0){
System.out.println("a>0")};}
else if(a<0){
System.out.println("a<0")};}
else{
System.out.println("a=0")};}
也就是if(条件表达式1){方法体}else if(条件表达式2)else{方法体},在满足对应的条件表达式,执行方法体里面的内容。
1.5 switch语句结构
switch (表达式) {
case 1:
语句体1;
break;
case 2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
执行流程:
首先计算出表达式的值
其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结
束。
最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
注意:
当没有写break的时候仍然会执行到下面的语句;
2. for循环
2.1 for循环的概念
循环:
循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,
当反复 执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直
执行下去,形 成死循环。
格式
for (初始化语句;条件判断语句;条件控制语句) {
循环体语句;
}
//IDEA中的快捷键fori
格式解释:
- 初始化语句: 用于表示循环开启时的起始状态,简单说就是循环开始的时候什么样
- 条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行下去
- 循环体语句: 用于表示循环反复执行的内容,简单说就是循环反复执行的事情
- 条件控制语句:用于表示循环执行中每次变化的内容,简单说就是控制循环是否能执行下去
执行流程:
①执行初始化语句
②执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
③执行循环体语句
④执行条件控制语句
⑤回到②继续
3. while循环
3.1 while循环完整格式
初始化语句;
while (条件判断语句) {
循环体语句;
条件控制语句;
3.2 while循环执行流程
①执行初始化语句
②执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
③执行循环体语句
④执行条件控制语句
⑤回到②继续
3.3 do…while循环结构
初始化语句;
do {
循环体语句;
条件控制语句;
}while(条件判断语句);
执行流程:
① 执行初始化语句
② 执行循环体语句
③ 执行条件控制语句
④ 执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
⑤ 回到②继续
简单来说while和do…while的差别,一个是先判断后执行,一个是先执行,后判断。
4.三种循环的区别
三种循环的区别
for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)
do…while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)
for循环和while的区别
条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用
死循环(无限循环)的三种格式
- for( ; ; ){}
- while(true){}
- do {} while(true);
5 跳转控制语句
跳转控制语句(break)
跳出循环,结束循环
跳转控制语句(continue)
跳过本次循环,继续下次循环
注意: continue只能在循环中进行使用!
6 循环嵌套
循环嵌套概述:在循环中,继续定义循环
public static void main(String[] args) {
//外循环控制小时的范围,内循环控制分钟的范围
for (int hour = 0; hour < 24; hour++) {
for (int minute = 0; minute < 60; minute++) {
System.out.println(hour + "时" + minute + "分");
}
System.out.println("--------");
}
}
理解:
请反复理解这句话(整个内循环,就是外循环的一个循环体,内部循环体没有执行完毕,外循环是不会
继续向下执行的)
结论:
外循环执行一次,内循环执行一圈.