一、单分支if选择结构:
1.语法结构:
if(条件){
//代码块
}
2.执行规律:
(1)首先判断条件,如果条件为true,则执行{}中的代码块,执行完之后,继续向下执行if结构后面的代码;
(2)如果条件为false,则跳过if选择结构,执行if结构后面的代码。
3.注意事项:
* 条件只能为boolean类型的结果,要么为true,要么为false
* 如果{}号里只有一行代码,{}可以省略不写,但是超过1条语句的时候,不能省略,因为会出现问题,所以建议,不要省略{}。
//创建Scanner类对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入张浩的Java成绩:");
double javaScore =sc.nextDouble();
//判断张浩能不能得到奖励
if(javaScore>90){
System.out.println("很棒");
System.out.println("老师奖励iPhone6s");
}
System.out.println("好好学习,天天向上");
}
二、双分支if选择结构:if-else
1.语法结构
if(条件){
//代码块1;
}else{
//代码块2;
}
2.执行规律:
(1)判断条件,如果条件为true,执行代码块1,执行完代码块1,结束整个if-else结构,继续往下执行if-else结构后面的代码。
(2)如果条件为false,执行else后面{}里的代码块2,执行完代码块2,结束整个if-else结构,继续往下执行if-else结构后面的代码。
3.注意:条件不管多么的简单还是多么的负责,只能是布尔类型,要么为true要么为false;
(3)如果代码块1只有一条语句,那么if后面()后的{}可以省略,但是不建议。
Scanner sc = new Scanner(System.in);
System.out.println("请输入Java成绩:");
double javaScore = sc.nextDouble();
if(javaScore>90){
System.out.println("很棒");
System.out.println("奖励iPhone6s");
}else{
System.out.println("罚蹲马步十分钟");
}
System.out.println("好好学习,天天向上");
三、 多分支if选择结构if-else-if
1.语法规则:
if(条件1){
//代码块1;
}else if(条件2){
//代码块2
}else if(条件3){
//代码块3
}......
}else if(条件n){
//代码块n;
}else{
//代码块m;
}
2.执行规律:
(1)首先判断条件1,如果条件1为true,执行代码块1,执行完代码块1结束整个if-else-if结构,执行if-else-if结构后面的代码
(2) 如果条件1为false,往下判断条件2,如果条件2为true,执行代码块2,执行完代码块2结束整个if-else-if结构,执行if-else-if结构后面的代码
(3) 如果条件2位false,往下判断条件3,如果条件3为true,执行代码块3,执行完代码块3结束整个if-else-if结构,执行if-else-if结构后面的代码
(4) 如果条件3位false,往下判断条件....
(5) 如果判断到最后一个条件n为false,则执行else后面{}里的代码
3.注意:
1)所有的条件都为布尔值,要么为true要么为false
2)else if可以有多个
3)else可以省略不写,如果所有的条件都不满足,又没有else,则整个if-else-if结构都不会执行
4)多分支if选择结构里的条件是有顺序,条件严格的应该排在前面
int score = 50;
if(score>=80){
System.out.println("良好");
}else if(score>=60){
System.out.println("中等");
}else{
System.out.println("差");
}
//注意条件的顺序,在这里成绩为80分以上也会被判断为中等,不是良好,就因为条件顺序不对
if(score>=60){
System.out.println("中等");
}else if(score>=80){
System.out.println("良好");
}else{
System.out.println("差");
}
System.out.println("好好学习,天天向上");
四、嵌套if选择结构
1.在一个if选择结构中包含另外一个或者多个if选择结构
2.实例
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的百米赛跑成绩(秒):");
double runScore = sc.nextDouble();
//根据成绩判断是否能进入决赛
if(runScore<10){
System.out.println("恭喜你,进入决赛");
System.out.println("请输入你的性别:");
String gender =sc.next();
进入决赛后,根据性别分组
if(gender.equals("男")){
System.out.println("进入男子决赛组");
}else if(gender.equals("女")){
System.out.println("进入女子决赛组");
}else{
System.out.println("性别输入错误,不能分组");
}
}else{
System.out.println("很遗憾,不能进入决赛");
}
System.out.println("继续努力");