选择结构语句
选择结构:也被称为分支结构。选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,
所以产生选择,按照不同的选择执行不同的代码。Java语言提供了两种选择结构语句:if语句和switch语句
一、if语句 if语句有三种语法格式。
(1)、if语句第一种语法格式(适合一种判断)
if(条件表达式){
语句体;
}
执行流程:判断条件表达式的结果,当为true时,{}中的执行语句体才会执行,否则不执行语句体。
1
2
3
4
5
6
|
1 . //if语句第一种语法格式
int i= 6 ;
if (i% 2 == 0 ){
System.out.println( "if条件为true" );
}
System.out.println( "over" );
|
代码演示:
1
2
3
4
5
6
7
8
|
//if语句第二种语法格式
int j=- 2 ;
if (j> 0 ){
System.out.println(j+ "为正数" );
} else {
System.out.println(j+ "为负数" );
}
System.out.println( "over" );
|
代码演示:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
|
[/size][/font]
[font=微软雅黑][size=
3
]
// if语句第三种语法格式 [/size][/font]
[font=微软雅黑][size=
3
]
int
scores =
88
;
if
(scores >=
90
) {
System.out.println(
"您的成绩被评定为A级"
);
}
else
if
(scores >=
80
) {
System.out.println(
"您的成绩被评定为B级"
);
}
else
if
(scores >=
70
) {
System.out.println(
"您的成绩被评定为C级"
);
}
else
if
(scores >=
60
) {
System.out.println(
"您的成绩被评定为D级"
);
}
else
if
(scores >=
0
) {
System.out.println(
"您的成绩被评定为E级"
);
}
else
{
System.out.println(
"成绩输入有误!!!"
);
}
|
二、switch语句
switch语句的语法格式:
switch(表达式){
case 目标值1:
执行语句1;
break;
case 目标值2:
执行语句2;
break;
......
case 目标值n:
执行语句n;
break;
default:
执行语句n+1;
break;
}
注意:
(1)、表达式接收的值类型:在switch语句中的表达式只能是byte、short、char、int类型的值,如果传入其他类型的值,程序就会报错。
(JDK5.0引入enum枚举和JDK7.0接收String类型)。
(2)、case后面跟的是要和表达式进行比较的值,语句体部分可以是一条或多条语句,break表示中断,结束的意思,可以结束switch语句,
default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。default可以省略,但一般不建议,
default可以放在switch语句的任何位置,一般放在最后位置,放在最后位置时紧跟它的break可以省略。
(3)、switch结束的情况:当程序执行过程中遇到了break;当程序执行到了末尾处。
代码演示:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
public
static
void
main(String[] args) {
int
month =
12
;
switch
(month) {
case
1
:
case
3
:
case
5
:
case
7
:
case
8
:
case
10
:
case
12
:
System.out.println(month +
"月有31天!"
);
break
;
case
2
:
System.out.println(month +
"月有28天!"
);
break
;
case
4
:
case
6
:
case
9
:
case
11
:
System.out.println(month +
"月有30天!"
);
break
;
default
:
System.out.println(
"不存在该月!"
);
break
;
}
}
|
注意:
if和switch语句很像,那么在具体场景下如何合理选择使用哪种语句呢?
(1)、能用switch语句实现的都可以用if语句替换,并且if语句的条件表达式没有任何限制,但是switch语句条件表达式的类型
只能是byte、short、int、char这四种类型,以及后加入的枚举和string,并且要注意break的使用。
(2)、 If语句一般用于分支语句比较少的结构,而switch用于分支较多的结构。
(3)、如果判断具体数值不多,而且符合byte、short、int、char这四种类型虽然两个语句都可以使用,但建议使用switch语句,因为效率稍高。
其他情况,对区间判断,对结果为boolean型的判断,使用if,if的使用范围更广。