JAVAEE学习day03,基本的流程控制
有问题请留言
1.流程控制语句分类
1)顺序控制语句
2)选择结构语句
if...
if...else...
if...else if... else...
for...
switch...
while...
do...while...
2.顺序结构如何执行
从上到下,从左到右
3.if语句三种执行流程
/*
if...语句
if(关系表达式){
语句体;
}
其他语句
首先判断关系表达式结果true或者false
如果是true就执行语句体
如果是false就不执行语句体
注意:如果不写大括号,if后边紧挨着的第一句才是if的语句体
*/
/*
if...else...语句
if(关系表达式){
语句体1;
}else{
语句体2;
}
首先判断关系表达式结果为true还是false
如果是true就执行语句体1
如果是false就执行语句体2
*/
/*
if..else if... else...语句
if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}...{
语句体n;
}else{
语句体n+1;
}
判断语句体1结果,true执行语句体1,false判断关系表达式2
表达式2结果为true执行语句体2,false判断下一个关系表达式
如果所有关系表达式均为false,执行语句体n
*/
4.if...else和三元运算符的区别
三元运算符的弊端也是必须要有结果,没有结果的只好用if else
5.switch语句执行流程及case穿透特性
/* switch(表达式){ case 常量1: 语句体1; break; case 常量2: 语句体2; break; ...... default: 语句体n+1; break; } 首先计算得出表达式结果 依次比较case,如果值对应就会执行相应的语句,遇到break结束 如果是所有值均不匹配,执行default中的语句体n+1
*/
/* 注意:case穿透 如果在语句体后不加break,在执行完第一条语句之后会立即执行该语句的后的所有语句 直到遇到break或者switch语句执行结束 */
6.switch语句可以接收的数据类型
byte, short, int, char, enum(枚举), J字符串.
7.if和switch的区别
swich适合使用在固定值,不能进行逻辑判断 而if适合使用逻辑判断,且里面的内容多样,可以是字符串,数值等等。。。
8.for循环执行流程
/*
for(初始化表达式①;?布尔表达式②;?步进表达式④){
循环体③;
}
执行流程 执行顺序:①②③④>②③④>②③④…②不满足为止。
①负责完成循环变量初始化
②负责判断是否满足循环条件,不满足则跳出循环
③具体执行的语句
④循环后,循环条件所涉及变量的变化情况
*/
9.while循环的执行流程
/*
初始化表达式①
while(布尔表达式②){
循环体③ 步进表达式④
}
执行顺序:①②③④>②③④>②③④…②不满足为止。
①负责完成循环变量初始化。
②负责判断是否满足循环条件,不满足则跳出循环。
③具体执行的语句。
④循环后,循环变量的变化情况
*/
10.do...while循环执行的执行流程
/*
初始化表达式①
do{
循环体③ 步进表达式④
}while(布尔表达式②);
执行顺序:①③④>②③④>②③④…②不满足为止。
①负责完成循环变量初始化。
②负责判断是否满足循环条件,不满足则跳出循环。
③具体执行的语句
④循环后,循环变量的变化情况 注意:无条件执行一次
*/
11.for循环,while循环和do...while循环的区别
三种循环是可以替换的,但是三种循环也有一定的差异:
for循环适用于知道范围的情况(或知道循环次数的情况),当循环次数(或范围)不确定时用while循环或do......while循环。
while循环和do.......循环,当第一次进入循环就不满足条件时,while循环不做,do......while执行一次。其他情况输出结果是一样的。
12.死循环的两种写法
while (true){}
for(;;){}
13.break的概念及使用场景
终止switch或者循环
break只有在switch或者循环中使用
14.扩展:嵌套for循环执行流程
嵌套循环执行流程:
for(初始化表达式①;循环条件②;步进表达式⑦){
for(初始化表达式③;循环条件④;步进表达式⑥){
执行语句⑤;
}
}
执行顺序:①②③④⑤⑥>④⑤⑥>⑦②③④⑤⑥>④⑤⑥ 外循环一次,内循环多次