if else的多分支控制
if(条件表达式){
else if(表达式到这里为真){执行语句
}
else if(表达式到这里为真){执行语句
}
…
else (当所有的表达式都为假){执行语句
}
}
演示
import java.util.Scanner;
public class If02{
public static void main(String[]aegs){
//练习 If else的多分支
System.out.println("请输入信用分(1~100)");
Scanner mysc = new Scanner(System.in);
int o = mysc.nextInt();
if (o>1&&o<=100) {//使用嵌套if 把不在输入范围内的数字跳转到 应对程序
if (o==100) {
System.out.println("信用分极好");
}else if(o<=99&&o>=80){
System.out.println("信用优秀");
}else if(o<80&&o>=60){
System.out.println("信用良好");
}else{
System.out.println("信用差");
}}else{
System.out.println("输入错误");
}
}
}
if else 的嵌套分支
应用案例
参加歌手比赛,如果初赛成绩大于8.0进入决赛,否则提示淘汰。并且根据性别提示进入男子组或女子组。输入成绩和性别,进行判断和输出信息。[Nestedlf.java]
提示信息: double score; char gender;
接收字符: char gender = scanner.next().charAt(0)
import java.util.Scanner;
public class Nestedif{
public static void main(String[]args){
//参加歌手比赛,如果初赛成绩大于8.0进入决赛,否则提示淘汰。
//并且根据性别提示进入男子组或女子组。输入成绩和性别,进行判断和输出信息
//思路分析 创建两个scanner对象 以double和char类型接收 成绩和性别
//再使用if嵌套分支根据两个对象的属性进入到对应分支输出信息
Scanner mysc1 = new Scanner(System.in);
Scanner mysc2 = new Scanner(System.in);
System.out.println("请输入成绩");
double score = mysc1.nextDouble();
//第一重if分支 根据成绩判断进入决赛还是淘汰
if (score>=8.0) {
//第二重if分支 根据性别判断进入男子组还是女子组
char man = '男';
char woman = '女';
System.out.println("请输入性别");
char gender =mysc2.next().charAt(0);
if (gender==man) {
System.out.println("恭喜进入男子组决赛");
}else if(gender==woman){
System.out.println("恭喜进入女子组决赛");
}else{System.out.println("咋滴你是人妖啊");}
}else{
System.out.println("你被淘汰了,很遗憾");
}
}
}
练习 使用if嵌套分支制作出下方的出票系统
出票系统:根据淡旺季的月份和游客的年龄打印票价
4-10月份 旺季:
成人:(18-60)60元
儿童:(<18)半价
老人:(>60)3/1
淡季:
成人:40
其他:20
思路分析:
1.创建scanner对象获取当前月份 和游客的年龄,以此判断价格
import java.util.Scanner;
public class Nestedif2{
public static void main(String[]args){
/*出票系统:根据淡旺季的月份和游客的年龄打印票价
4-10月份 旺季:
成人:(18-60)60元
儿童:(<18)半价
老人:(>60)3/1
淡季:
成人:40
其他:20*/
Scanner mysc = new Scanner(System.in);
System.out.println("请输入当前月份");
int month = mysc.nextInt();
if (month<=12) {
if (month>=4&&month<=10) {
System.out.println("请输入年龄");
int age = mysc.nextInt();
if (age>=18&&age<=60) {
System.out.println("成人票-请付款60元");
}else if (age<18) {
System.out.println("儿童票-请付款"+60/2+"元");
}
else if(age>60&&age<=100){
System.out.println("老人票-请付款"+60/3+"元");
}
}else{System.out.println("请输入年龄");
int age = mysc.nextInt();
if (age>=18&&age<=60) {
System.out.println("成人票-请付款40元");
}else {
System.out.println("特惠票-请付款20元");
}
}
}else{
System.out.println("请输入正确的月份");
}
}
}