##本单元目标
1、流程控制结构 √
2、顺序结构 √
3、分支结构 ★
4、循环结构 ★
5、跳转结构 ☆
##分支结构
###概念
程序从两条或多条路径中选择一条去执行,这种结构称为分支结构
###if结构
特点:
①条件表达式的形式可以为:
boolean的变量
boolean变量的赋值
关系表达式
逻辑表达式
只要最终结果为boolean类型即可
②大括号中的执行语句,可以为0条或任意多条,而且可以是任意的打印、变量、运算、if结构等
③当大括号中的执行语句只有一条的时候,可以省略大括号!
一、单分支
说明:
程序从一条路径中去选择,要么执行,要么不执行
语法:
if(条件){
//条件成立要执行的语句块
}
二、双分支
说明:
程序从两条路径中去选择,要么执行a,要么执行
语法:
if(条件){
//条件成立要执行的语句块
}else{
//条件不成立要执行的语句块
}
三、多重分支
说明:
程序从多条路径中去选择,最终选择一条
语法:
if(条件){
//条件成立要执行的语句块
}else if(条件2){
}else if(条件3){
}....
else{
//条件不成立要执行的语句块
}
注意事项:
1、从上往下依次判断if条件的,如果某个条件成立,则下面的条件将不再执行
2、else if块的顺序最好不要调换,因为可能影响效果
3、else块可以省略,也可能影响效果
4、区分开多重if结构和多个if 结构
四、嵌套分支
说明:
一个分支结构中又完整的嵌套了另一个完整的分支结构
示例:
if(){
if(){
}else{
}
}
###switch结构
一、语法
switch(变量或表达式){
case 常量1:语句1;break;
case 常量2:语句2;break;
....
default:语句n;break;
}
二、执行顺序
先判断出switch括号中的变量或表达式的值,然后依次判断case的常量值是否与之相等
如果相等,则执行对应case的语句块,直到遇见break为止
如果没有相等的,则执行default语句块,直到遇见break为止
三、语法注事项
1、变量或表达式的类型:byte、short、int、枚举、String、char
2、case后只能是常量
3、case后的常量不能重复
4、break从语法上可以省略,但影响效果
5、default从语法上可以省略而且可以调换顺序,但影响效果
###if结构和switch结构大pk
相同点:
都属于分支结构,很多时候都可以互相替换解决分支结构的题目
不同点:
能用switch结构的题目,肯定能用if结构解决
能用if结构解决的题目,不一定能用switch结构解决,必须满足以下条件:
①判断的类型有限制,必须是byte、short、int、枚举、String、char
②必须为等值判断
##循环结构
###好处
1、提高代码的重用性,代码更加简洁
2、提高代码的维护性,使代码扩展性更强!
###分类
while
do while
for
###四要素
循环变量初始化
循环条件:满足该条件,将进入循环体执行操作
循环操作:反复执行的代码
循环变量更新
###落地步骤
题型一:知道循环的次数或知道一个范围
示例:打印100遍,统计10个学生,求100——200之间的和
1.需要先套用一个知道条件的框架
int i=初始值;
while(i<=次数或终止值){
i++;
}
2.再分析循环操作即可
3.检测是否四要素齐全或语法有没有改进的地方
题型二:不知道循环的次数
1、将while框架套上
while(){}
2、分析循环条件和循环操作
3、检测是否有四要素
##while循环结构
语法:
循环变量初始化 ①
while(循环条件){ ②
循环操作 ③
循环变量更新 ④
}
执行顺序:
①②③④②——直到②不成立为止
##do while循环结构
语法:
循环变量初始化 ①
do{
循环操作 ③
循环变量更新 ④
}while(循环条件);②
执行顺序:
①③④②③④——直到②不成立为止
###while和do while 大pk
相同点:
都能解决任何类型的循环题目
都具备循环的四要素
不同点:
执行顺序不同,do while先执行后判断;while 先判断后执行
执行效果不同,如果第一次条件不成立,do while 至少执行一次;while执行0次
如果第一次条件成立,do while和while执行次数一样
语法不同
##for循环结构
好处:简化题型一,或者说相当于简化版的while
语法:
for(循环变量初始化;循环条件;循环变量更新){
循环操作
}
注意事项:
1、三个表达式从语法上讲,可以省略,但有可能导致死循环
2、两个分号必不可少
3、表达式1可以有多条初始化语句隔开,中间必须用逗号隔开
表达式3可以有多条更新语句组成,中间必须用逗号隔开
表达式2 可以有多个条件组成,中间用逻辑运算符隔开
###三种循环结构的 大pk
相同点:
1、都具有循环四要素
2、都能解决任何类型循环题目
不同点:
1、语法不同
2、执行顺序不同
while和for 先判断,后执行
do while 先执行,后判断
3、执行效率不同
do while最高
while和for一样,其次
4、应用场景不同
如果知道循环次数,优先考虑使用for解决
如果不知道循环次数,
先判断,则考虑使用while
先执行,则考虑使用do while
##跳转结构
概念:改变正常的程序控制流的结构
分类:
break 中断、跳出
continue 继续
return 返回
###break结构
功能:一般用于循环或switch中,作用是跳出所在的循环或switch结构!
语法:
1.
switch(){
case 常量:语句;break;
}
2.循环中
while(){
if(){
break;
}
}
特点:
① 只能跳出所在的一层循环或switch
②如果想跳出外层循环,可以搭配标签使用,具体语法如下
###continue结构
功能:只能用于循环中,作用是结束本次循环,继续下一次
语法:
一般搭配if放在循环中
特点:
①只能跳出所在的一层循环
②如果想跳出外层循环,可以搭配标签使用
###return结构
功能:可以用在方法中的任何地方,作用是跳出所在的方法