Java基础1-1-3—java基础语法(条件控制语句)
3、 条件控制语句
3.1 流程控制语句-顺序结构
流程控制语句:通过一些语句,来控制程序的【执行流程】
流程控制语句分类:
顺序结构
分支结构(if,switch)
循环结构(for,while,do...while)
顺序结构语句是Java程序,默认的执行流程,按照代码的先后顺序依次执行。
从上到下,从左到右。
3.2 if语句格式1
if语句格式
格式:
if(关系表达式){
语句体;
}
执行流程:
1、首先计算关系表达式的值
2、如果关系表达式的值为true就执行语句体
3、如果关系表达式的值为false就不执行语句体
4、继续执行后面的语句内容
if语句注意事项
注意事项:
1、if语句所控制的语句体,如果是一条语句,大括号可以省略不写(但是不建议)
2、if语句的小括号后面,没有分号
3.3 if语句格式2
if语句格式2
格式:
if(关系表达式){
语句体1;
}else{
语句体2;
}
执行流程:
1、首先计算关系表达式的值
2、如果关系表达式的值为true就执行语句体1
3、如果关系表达式的值为false就执行语句题2
4、继续执行后面的语句内容
3.4 if语句格式3
格式:
if(判断条件1){
语句体;
}else if(判断条件2){
语句体2;
}
...
else{
语句体n+1;
}
执行流程:
1、首先计算判断条件1的值
2、如果值为true就执行语句体1;如果值为false就计算判断条件2的值
3、如果值为true就执行语句体2;入股值为false就计算判断条件3的值
4、...
5、如果没有任何判断条件为true,就执行语句体n+1。
public static void main(String[] args){
int score = -1;
if(score >= 90 && score <= 100){
System.out.println("优秀");
}else if (score >= 80 && score <= 89){
System.out.println("良好");
}else if (score >= 70 && score <= 79){
System.out.println("中等");
}else if (score >= 60 && score <= 69){
System.out.println("及格");
}else if (score >= 0 && score <= 59){
System.out.println("请努力加油!");
}else{
System.out.println("成绩有误!");
}
}
3.5 switch语句的case穿透现象
switch语句的case穿透现象
需求:键盘录入星期数,输出工作日、休息日。
(1-5)工作日,(6-7)休息日。
case穿透是如何产生的?
如果switch语句中,case省略了break语句,就会开始case穿透。
现象:当开始case穿透,后续的case就不会具有匹配效果,内部的语句都会执行
直到看见break,或者将整体switch语句执行完毕,才会结束。
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入星期数:");
int week = sc.nextInt();
switch(week){
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("工作日");
break;
case 6:
case 7:
System.out.println("休息日");
break;
default:
System.out.println("您的输入有误");
break;
}
}
当开始case穿透,后续的case就不会具有匹配效果,内部的语句都会执行直到看到break,或者将整体switch语句执行完毕,才会结束。
当发现switch语句中,多个case给出的语句体出现了重复的,就可以考虑使用case穿透来优化代码。
3.6 分支语句switch语句
switch语句格式和说明
注意事项:
1、case给出的值不允许重复
2、case后面的值只能是常量,不能是变量