java主要的选择结构有:
- if单选择结构
语法结构为:
if(布尔表达式){
语句块
}
if语句对布尔表达式进行一次判定,若判定为真,则执行{}中的语句块,否则跳过该语句块。
if单选择结构代码示范
int m = (int)(6*Math.random()+1);
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你猜的数");
int number = scanner.nextInt();
if(number<m) {
System.out.println("小了,正确数为:"+m);
}
if(number==m) {
System.out.println("恭喜你猜对了");
}
if(number>m) {
System.out.println("大了,正确数为:"+m);
}
- if-else双选择结构
语法结构为:
if(布尔表达式){
语句块1
}else{
语句块2
}
当布尔表达式为真时,执行语句块1,否则,执行语句块2。也就是else部分。
if-else结构代码示范
int score = (int)(99*Math.random());
if(score>=60) {
System.out.println("及格,分数为:"+score);
}else {
System.out.println("不及格,分数为:"+score);
}
- if-else if-else多选择结构
语法结构为:
if(布尔表达式1) {
语句块1;
} else if(布尔表达式2) {
语句块2;
}……
else if(布尔表达式n){
语句块n;
} else {
语句块n+1;
}
当布尔表达式1为真时,执行语句块1;否则,判断布尔表达式2,当布尔表达式2为真时,执行语句块2;否则,继续判断布尔表达式3······;如果布尔表达式均判定为假时,则执行语句块n,也就是else部分。
if-else if-else代码示范
int month = (int)(11*Math.random()+1);
if(month>=3&&month<6) {
System.out.println("春天");
}else if(month>5&&month<9){
System.out.println("夏天");
}else if(month>8&&month<12) {
System.out.println("秋天");
}else {
System.out.println("冬天");
}
System.out.println("月份"+month);
- switch多选择结构
语法结构为:
switch(expression){
case value :
//语句
break; //可选
case value :
//语句
break; //可选
//你可以有任意数量的case语句
default : //可选
//语句
break;
}
switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。语句会根据表达式的值从相匹配的case标签处开始执行,一直执行到break语句处或者是switch语句的末尾。如果表达式的值与任一case值不匹配,则进入default语句(如果存在default语句的情况)。
switch结构代码示范
int number = (int)(3*Math.random()+1);
switch(number) {
case 1:
System.out.println("1");
break;
case 2:
System.out.println("2");
break;
default:
System.out.println("其他数字"+number);
}
应用场景:
if语句可以做条件判断也可以做区间判断,在执行一个if内容后自动结束,且else只能放在最后面执行。switch只能做固定值判断,case的值为传入的参数,遇到break结束,default可以放在任何位置。