今天学习的内容有
- 流程控制
流程控制
程序从上往下加载,从左往右。
if else
-
单支情况
格式:if(布尔类型表达式/布尔类型值){
语句体
}
执行流程:
首先,判断表达式值;
其次,值为true则执行括号里语句体;值为false则不执行。
-
多支情形
格式:格式:if(布尔类型表达式/布尔类型值){
语句体1
}else{
语句体2
}
执行流程:
首先,判断表达式值
其次,值为true,执行语句体1;值为false,执行语句体2.
-
if…else if…else
格式:if(布尔类型表达式1){
语句体1
}else if(布尔类型表达式2){
语句体2
}else if(布尔类型表达式n){
语句体n
}else{
语句体n+1
}
-
if…if…ese…else语句 嵌套情形
格式:
if(布尔类型表达式1){
方法体内容1
if(布尔类型表达式2){
方法体内容2
}
else{
方法体内容3
}
}
else{
方法体内容4
}
switch case
switch(表达式/变量){
case 常量值1:
语句体内容1
break;
case 常量值1:
语句体内容1
break;
…
default:
语句体n
break;
}
执行流程:首先计算表达式值
其次,依次和case后面的常量比较,一旦有对应值,就会执行相应语句体内容。在执行的过程中,遇到break就会结束switch case 语句。
最后,如果所有的case都和表达式值不匹配,就会执行default对应的语句体内容,然后switch case 语句结束。
注意:
在switch语句中,表达式的数据类型,可以是byte、short、int、char、enum(枚举),JDK1.7之后可以接收字符串类型。
case穿透性
在switch语句中,如果case后面的break省略掉,将会出现穿透现象。不会判断后面的case情形值,直接加载后面的case中的方法体内容,直到遇到break结束。
【三种基本循环】for、while、do-while
循环结构组成部分:一般分成4部分
- 初始化语句:循环最开始,需要定义一个初始化变量,而且只定义一次。
- 条件判断语句(结束条件):如果条件成立,进入循环,如果条件不满足,则退出循环。
- 循环体内容;重复要做事情的内容,可能包含很多条语句(事情是有规律的)
- 迭代语句(步进语句):每次循环结束之后需要执行步进语句,对初始化变量做步进
for循环:
执行流程
- 执行顺序:1-2-3-4-2-3-4-2-3-4…2不满足为止。
while循环语句
执行流程
- 执行顺序:1-2-3-4-2-3-4-2-3-4…-2不满足为止
- 1负责循环变量初始化
- 2负责判断是否满足循环条件,不满足则跳出循环
- 3负责执行具体语句,实现某个功能。
- 4迭代循环变量
do-while循环
执行流程:
- 执行顺序:1-3-4-2-3-4-2-3-4-…-2不满足为止。
- 1负责定义循环变量,并且进行初始化。
- 2负责判断条件是否满足循环条件,不满足则跳出循环。
- 3负责执行具体语句,实现某个功能
- 4迭代循环变量
备注:无条件执行一次循环体内容,即使判断条件不满足也依然会循环一次,这样的循环是有风险的,不建议使用。
循环语句的区别
for和while的区别
- 控制语句中所涉及到的循环变量,当for循环结束后,定义的循环变量不能再被访问到,而while循环结束后依然可以被访问到。如果不继续使用循环变量,建议使用for循环,因为for循环结束后,循环变量就会从内存中消失,能够提高内存的使用效率。
- 在已知循环次数的情况下,建议使用for循环,当循环次数不确定时使用while循环。
跳出语句
break、continue两个语句
break
使用情形:终止switch语句或者循环语句。
备注:离开了使用场景对于break来说没有意义##### continue
使用情形:结束本次循环,继续下一次循环。