目录
目标
选择结构
循环结构
多分支的if结构
跳转语句
流程控制结构
java中有三种流程控制结构:顺序结构,选择结构,循环结构
顺序结构:顺序结构指的是程序自上而下依次执行的每条语句,其中没有任何的判断和跳转。
选择结构:选择结构根据判断条件的结果来执行不同的代码
循环结构:根据判断条件来重复执行某块代码。Java提供,while语句,do-while语句,for语句来实现循环结构
顺序: 选择: 循环:
一.选择结构
java提供If控制语句,switch语句来实现选择结构
1.if控制语句
if语句的语法格式如下:
if(表达式){
语句块
}
if是java中的关键字
表达式是布尔类型的表达式,其结果是true或false
执行步骤:
1.对表达式的结果进行判断
2.如果表达式是真(true),执行语句块
3.如果表达式是假(false),则跳过该语句块
(1).使用if语句实现单分支处理
if语句由条件表达式和紧随其后的语句组成,如果if条件表达式后面有多个语句,千万别忘记在多个语句的前后添加一对花括号
if的语句语法如下:
if(表达式){
语句块1;
语句块2;
}
例1.
需求:请实现如果成绩大于等于60分,就输出“成绩合格,考试通过”;
分析:从需求上看,条件判断就是大于等于60分
实现步骤:
1为了保存成绩的变量使用score变量赋值
2.使用if语句判断成绩是否大于等于60,如果大于等于60,则输出信息“成绩及格,考试通过”
代码实现:
(2).使用if-else语句实现双分支处理
if-else语句的语法如下:
if(表达式){
语句块
}else{
语句2
}
当表达式为true时,执行语句块1;
表达式为false时,执行语句块2;
注意:
1.if-else语句由if和紧随其后的else组成
2.else语句不能单独使用,它必须是if语句的一部分,与最近的if语句配对使用
例2.
(3).使用多分支if语句实现多分支处理
当多个条件判断时,需要使用多分支语句来解决
多分支if语句的语法格式:
if(表达式1){
语句块1
}else if(表达式2){
语句块2
}else{
语句块3
}
多分支语句的执行步骤:
1.对表达式1的结果进行判断
2.如果表达式1的结果为true,则执行语句块1,否则判断表达式2的值
3.如果表达式2的结果为true,则执行语句块2,否则执行语句块3.
注意:
不论多分支if语句中由多少个条件表达式,只会执行那个符合条件的一个,如果没有符合条件的,则执行else子句中的语句。
例3:
需求:
如果成绩大于等于90分,且小于等于100分,输出“A级”;否则如果大于等于80分,输出“B级”
否则如果大于等于70分,输出“C级”;否则大于等于60分,输出“D级”,低于60分,输出“E级”
实现步骤:
1.保存成绩的变量,变量赋值
2.使用多分支if语句进行判断
注意:
1.在上述的if控制语句中,条件表达式必须是布尔类型的,这是java与c语言和C++的不同之处
2.嵌套if控制语句:
在if控制语句中包含一个或者多个if控制语句,称之为嵌套if控制语句,嵌套if控制语句可以通过外层语句和内层语句的协作,来增强程序的灵活性
嵌套if控制语句的语法格式如下:
if(表达式1){
if(表达式2){
语句1
}else{
语句2
}
}else{
if(表达式3){
语句3
}else{
语句4
}
嵌套if控制语句的执行过程:
1.对表达式1进行结果判断
2.如果表达式的结果为true,再判断表达2的结果判断。如果表达式2的结果为true,则执行语句1;否则。再判断表达式2的值
3.如果表达式1的结果为false,对表达式3的结果进行判断,如果表达3的结果为true,则执行语句3;
否则,判断表达式4的值
例4
需求:
请实现如果今天是周六或者周日,气温再30度以上,去游泳;否则就去爬山
如果今天不是周六或者周日·,天气好,去客户单位谈业务;否则就在公司上网查资料。
分析:
1.外层的if控制语句来判断是否是工作日
2.内层的if控制语句判断天气状况
实现的步骤:
1.使用if控制语句判断今天是否是周日或者周六
2.如果是周六或者周日,那么进一步去判断气温是否在30度以上
3.如果不是周六周日,那么去判断天气是否好
3.Switch语句
java中还提供了Switch语句来实现多分支的选择结构,它和多分支的if语句结构,在某些情况下,可以相互替换。
Switch语句语法的格式:
switch(表达式){
case常量1:
语句
break;
case常量2:
语句
break;
........
default:
语句;
break;
}
switch case break default都是java中的关键字
Switch的表达式只能式字符型,枚举型,整数型
case用于表达式匹配
default是选择的,当其他条件不匹配时,执行default
注意:
如果case后没有break语句,程序将会继续向下执行,直到遇到break语句或Switch语句结束
Switch语句执行的步骤:
1.计算Switch语句中的表达式的值
2.将计算结果从上至下依次和case常量值进行比较
3.如果相等就执行该常量后的代码块,遇到break语句后,就结束
4.如果与任何case后的常量值都不匹配,就执行default中语句
例5:
需求:
Switch实现成绩等级
Switch 后面的表达时“score/10”,会得到一个整数型值,在案例中也就是7,凡是60~69分的成绩都会得到整数6,与case6匹配成功,并执行case6后面的语句如遇到break;程序退出,所以输出的是D级;