??条件语句可根据不同条件执行不同的语句。在Java中有几种类型的选择语句: ??单分支if语句、双分支if-else语句、嵌套if语句,多分支if-else语句、swich语句和条件操作符。
1.单分支if-else语句
单分支if语句是当且仅当条件为true时执行下一个动作,语法如下:
if(布尔表达式){
语句序列;
}else{
}
如图:
例如:
int a = 1;
if (a>0){
System.out.println("a的值大于0");
}else {
System.out.println("a的值小于0");
}
2.多分支if-else语句
语法如下:
if(条件表达式1){
语句序列 1
}else if(条件表达式2){
语句序列 2
}
.......
else if(条件表达式n){
语句序列n
}
如图所示: 例如:
int score = 95;
if (score >=90){
System.out.println("A");
}else if (score >=80 ){
System.out.println("B");
}else if (score >=70 ){
System.out.println("C");
}else if (score >=60 ){
System.out.println("D");
}else {
System.out.println("F");
}
3.switch多分支语句
在编程中常见一个变量是否满足一个条件,如果不符合,就用另一个变量来检测,以此类推。 例如:
if (score == 60){
System.out.println("成绩及格");
}
if (score == 85){
System.out.println("成绩良好");
}
if (score ==95){
System.out.println("成绩优秀");
}
由此可见,此代码看起来显得笨重冗余,在Java中,可以使用switch语句将动作住址起来,以一个简单的方式来实现“多选一” 的选择。 switch语法格式如下:
switch (语句表达式){
case 常量1:
语句块1;
break;
case 常量2:
语句块2;
break;
...
case 常量n:
语句块n;
break;
default:
语句块;
break;
}
switch语句遵从以下规则:
- switch表达式必须能计算出一个char、byte、short、int或者String类型的值,并且必须用括号括住。
- value1,…,valueN必须与switch表达式的值具有相同的数据类型。
注意:value1,…,valueN都是常量表达式,不允许出现变量
- 当switch表达式与case语句的值相匹配时,执行冲该case开始的语句,直到遇到一个break语句或者达到改switch语句的结束。
- 默认情况(default)是可选的,当没有一个给出的case与switch表达式匹配时候,执行该操作。
- 关键字break是可选的。break会一例终止语句。
改进代码如下:
switch (score){
case 60: System.out.println("成绩及格");
break;
case 85: System.out.println("成绩良好");
break;
case 95: System.out.println("成绩优秀");
break;
default: System.out.println("成绩不及格");
break;
}
注:如果没有break,这执行完case还是会默认执行default. 例如:
int score = 95;
switch (score){
case 60:System.out.println("成绩及格");
case 85:System.out.println("成绩良好");
case 95: System.out.println("成绩优秀");
default:
System.out.println("成绩不合格");
}
运行结果: 成绩优秀 成绩不合格
|