i f 语句嵌套(嵌套分支——最多套两层)
i f 语句还有一种嵌套的形式,在外部 i f 结构中又嵌套一个 if···else结构,在这种形式中,若else个数与if个数不匹配,则else与离它最近的未匹配的if配对。
if(条件表达式1) {
if(条件表达式2) {
语句块1;
}
else{
语句块2;
}
}else{
语句块3;
}
i f 语句嵌套执行过程的流程图:
例题:某景区实行旺季(4-10月)儿童(未成年)票价30元,老年人(60岁以上)票价20元,成年人票价60元,收全票;淡季(11-3月)儿童、老年人票价20元,成年人票价40元。
public static void exe() {
//先分析
//1.要区分淡旺季
//2.还要区分年龄
Scanner scanner=new Scanner(System.in);
//获取月份
System.out.println("请输入月份:");
int month= scanner.nextInt();
System.out.println("你输入的月份是:"+month+"月");
System.out.println("请输入年龄:");
//获取年龄
int age= scanner.nextInt();
System.out.println("你输入的年龄是:"+age+"岁");
//理想情况 月份 12个月内
//年龄 0-140
//2.要进行区分
if (month>=4 && month<=10){
//这里面是旺季
//区分年龄
if (age<=18){
System.out.println("旺季,滴!儿童卡收你"+30+"块");
} else if (age<=60) {
System.out.println("旺季,成年人,收全票,收你"+60+"块");
}else{
System.out.println("旺季,老年卡,收你"+20+"块");
}
}else{
//淡季
if (age>=18 && age<=60){
System.out.println("淡季,成年人,收你"+40+"块");
}else{
System.out.println("淡季,收你"+20+"块");
}
}
}
例题:判断一年是否是闰年。
public class homework03 {
//键盘输入一个年份,判断这个年份是否为闰年
//分析:能被4整除但不能被100整除,或者能被400整除的年就是闰年
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
//从键盘输入一个年份
System.out.println("请输入一个年份");
int year = scanner.nextInt();
boolean leap = false;
//定义布尔变量 leap 表示是否是闰年,ture 代表是闰年,false 代表是平年
if(year % 4 ==0){
if (year% 100!=0){
leap = true;
} else if (year%400==0) {
leap = true;
}
}else {
leap = false;
}
if (leap){
System.out.println(year+"年是闰年");
}else {
System.out.println(year+"年是平年");
}
}
}