Java 条件语句 - if…else/switch case 语句
一.条件语句 - if…else
一个 if 语句包含一个布尔表达式和一条或多条语句。
语法
if 语句的语法如下:
选择结构:
if..else
switch..
单选泽|单分支:
if(条件表达式){
语句体;
}
执行流程:
1.条件表达式:值为boolean类型的表达式 true,fasle
2.如果值true,执行{}中的语句体
如果值false,不执行语句体,直接跳过if的结构
双选泽|双分支:
if(条件表达式){
语句体1;
}else{
语句体2;
}
如果满足条件执行语句体1,不满足条件执行语句体2
如果是这种双选择结构,肯定有结果
多选泽|多分支:
if(条件表达式1){
语句体1
}else if(条件表达式2){
语句体2
}else if(条件表达式3){
语句体3
}
....
else{
语句体n;
}
如果语句体只有一句,前后的{}可以省略
如果if整体结构,存在一个单独的没有条件的else{} 整个if结构肯定有结果,否则可能不满足条 件就没有执行的语句体
if和条件运算符选择:
1.条件运算符肯定有结果,if结构可能没有结果
2.多个条件使用if比较简单,条件运算符需要使用逻辑运算符|进行条件运算符的嵌套
简单的使用条件运算符,复杂的使用if结构
实例:
//获取三个随机数中的最大值 要求:使用if语句嵌套
if(a>b && a>c){
System.out.println(a);
}else if(b>c){
System.out.println(b);
}else{
System.out.println(c);
}
二.switch case 语句
语法
switch case语句的语法如下:
switch语句:定值判断
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
....
default:
语句体;
break;
}
注意: 表达式: 一般为变量|表达式|定值(不使用)
byte,short,char,枚举(1.5),字符串(1.7)
switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。
case:表达式的结果需要与case后的值进行判断,如果满足条件就执行后语句体,如果不满足条件,继续向下面的case进行判断
break:结束swtich,防止case穿透:如果满足条件的case后的语句体后没有break,下面的case不再判断.直接执行他们的语句体,直到遇到下一个break,或者switch的结束才结束
default: 与if的else很像,都是以上case 都满足,执行default中的内容可以写在switch语句的任何位置,一般放在最后,放在最后break可以省略,如果放在其他位置省略break会发生case穿透
实例:
public class Demo{
/**主方法*/
public static void main(String[] args){
char a=99;
switch(a){
default:
System.out.println("其他字符");
case 'a':
System.out.println("a");
break;
case 'b':
System.out.println("b");
break;
}
//--------------------------------------------------------------
//使用switch进行定值判断
boolean b=false;
switch(b+""){ //因为接受不了布尔类型,让其变为字符串类型进行接收
case "true":
System.out.println("true");
break;
case "false":
System.out.println("false");
break;
}
//--------------------------------------------------------------
//根据月份输出季节 利用穿透
int month=10;
switch(month){
case 3:
case 4:
case 5:
System.out.println(month+"月是春季");
break;
case 6:
case 7:
case 8:
System.out.println(month+"月是夏季");
break;
case 9:
case 10:
case 11:
System.out.println(month+"月是秋季");
break;
case 12:
case 1:
case 2:
System.out.println(month+"月是冬季");
break;
default:
System.out.println("月份不符合格式");
}
}
}