在if语句要求判断多个条件的时候,
1. 例如,我们读入一个
0~66 之间的整数,表示人的年龄。我们要写一个程序,对年龄段进行划分:0~6
为
童年
,
7~17 为 少年
,
18~40
为
青年
,
41~65
为
中年
,
66~85
为老年,86以后为长寿老人
。我们要对表示成绩的这个整各年龄周期区分 出 6
种不同的情况。
2. 这种类型的程序,我们需要进行多次判断。先定义一个
int
类型的变量year
,并从命令 行上读入用户的输入,代码片段如下:
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
.
3. 首先,应当判断这个整数是否是大于等于
1
并且小于等于
6
。如果满足这个条件的话,则人的年龄段是 童年,输出 童年;
如果不满足这个条件的话,则说明年龄大于 6。而年龄如果大于
6
,则又有很多种不同的情况,需要继续判断。
if (year>=0 && year <=6){
System.out.println(“童年”);
}else{
if (year >=7 && year <= 17){
System.out.println(“少年”);
}else{
… }
}
在这段代码中,外层的 else 语句,其代码块中,只有一个 if…else 语句。由于一个完整 的 if…else 语句只能算一个语句,因此,我们可以把外层 else 代码块的花括号省略,并调整 缩进,写成下面的形式:
.
如果有多个并列的条件,需要根据这些的条件执行不同的代码,这个时候,我们就可以使用 if …else if
这个结构:
这种结构的语法如下:
if (条件 1){
条件 1 的代码块
}else if (条件 2){
条件 2 的代码块
}else if (条件 3){
条件 3 的代码块
}else{
条件 4 的代码块
}
.
依次类推,最终代码的结构会被调整为:
if (year>0 && year<=6){
System.out.println("童年");
}else if (year>=7 && year <= 17){
System.out.println("少年");
}else if (year>=18&& year<=40){
System.out.println("青年");
}else if (year>=41 && year<=65){
System.out.println("中年");
}else if (year>=66 && year <=85){
System.out.println("老年");
}else{
System.out.println("长寿老人");
}