分支结构
分支结构的分类:
if 分支结构
if单分支结构
语法: if(布尔表达式) {
执行语句
}
布尔值为 true 则执行{}内的语句,否则跳过。
if双分支结构
语法: if(布尔表达式){
语句1
} else {
语句2
}
if多分支结构
语法: if(布尔表达式1){
语句1
}else if(布尔表达式2){
语句2
}else if(布尔表达式2){
语句3
} ......n个else if 语句
else {
语句n
}
案例1:模拟网站注册的流程,对年龄进行限制,注册者输入年龄,
输出不同结果。
0--17岁 未成年 不允许注册,提示:“少儿不宜”
18--40岁 成年 允许注册,提示:“恭喜注册成功”
41--120对 老年 允许注册,提示:“适当游戏”
package com.DaYu.Market;
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("请输入年龄");
int age = s.nextInt();
if(age>0&&age<=17) {
System.out.println("少儿不宜");
}else if(age<=40) {
System.out.println("恭喜注册成功");
}else if(age<=120) {
System.out.println("适当游戏");
}
}
}
switch-----case 结构
语法: switch(表达式) {
case 值1:语句1;break;
case 值2:语句2;break;
case 值3:语句3;break;
case 值4:语句4;break;
...
default: 语句n;
}
注意:
1.switch后面的表达式的类型可以是基本数据类型 byte short int char
注意long数据类型不可以;jdk1.5开始支持枚举;jdk1.7开始支持String。
2.case穿透,语句执行过程中只有遇到break才会跳出switch结构,
否则会继续执行后续语句。
3.若表达式的值与所有case后的值均不匹配,则执行default语句,
default语句可以放在其他行,但那时候也需要在后面加上break。
案例2.为成绩进行等级划分(成绩均是整数),利用switch---case结构实现
0--59 不及格
60--69 及格
70--89 良好
90--100 优秀
package com.DaYu.Market;
import java.util.Scanner;
public class Demo2 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("请输入一个成绩");
int score = s.nextInt();
if(score<0||score>100) {
System.out.println("非法数据");
}else {
switch(score/10) {
case 6:System.out.println("及格");break;
case 7:System.out.println("良好");break;
case 8:System.out.println("良好");break;
case 9:System.out.println("优秀");break;
case 10:System.out.println("优秀");break;
default:System.out.println("不及格");break;
}
}
}
}