【JAVA SE基础篇】12.选择结构内容

选择结构分为四种:if单选择结构、if-else双选择结构、if-else if-else多选择结构、switch结构

1、if单选择结构

格式:

if(【布尔表达式】或者【true/false】){

【语句块】

}

表示的意思是:

如果布尔表达式结果是true或者直接就是true,则执行大括号内语句块,再执行大括号后面的语句

如果布尔表达式结果是false或者直接就是false,直接跳过大括号内语句块,此if单选结构失效,执行大括号后面语句

例:

if(3<2){
System.out.println("3<2真的");//不输出
}
System.out.println("3<2假的");//输出

if后的大括号可以不写,如果不写只作用于第一个语句,分号结束。但是无论如何都必须写,加强阅读性。

2、if-else双选择结构

格式:

if(【布尔表达式】或者【true/false】){

【语句块1】

}else{

【语句块2】

}

表示的意思是:

如果布尔表达式结果是true或者直接就是true,则执行语句块1,并且语句块2不执行,直接跳过语句块2,执行程序后面其他语句块

如果布尔表达式结果是false或者直接就是false,直接跳语句块1,执行语句块2,再执行程序后面其他语句块

例:

int score=80;
if(score>60){
System.out.println("及格");//输出
}else{
System.out.println("不及格");//不输出
}

3、if-else if-else多选择结构

格式:

if(【布尔表达式1】或者【true/false】){

【语句块1】

}else  if(【布尔表达式2】或者【true/false】){

【语句块2】

}.......

else if(【布尔表达式n】或者【true/false】){

【语句块n】

}else{

【语句块n+1】

}

当布尔表达式1为真,则执行语句块1并跳过剩下所有多选择结构语句,否则判断布尔表达式2,

当布尔表达式2真时,则执行语句块2并跳过剩下所有多选择结构语句,以此类推。

如果布尔表达式1-n都为假,则执行语句块n+1,也就是else下的语句块。

例:

int a=10;
if(a<1){
System.out.println("是个小数");
}else if((a<10)&&(a>1)){
System.out.println("是个个位数数");
}else if((a<100)&&(a>9)){
System.out.println("是个两位数");//执行并输出
}else if((a<1000)&&(a>99)){
System.out.println("是个三位数");
}else{
System.out.println("是个很大的数");
}

4、switch结构

格式:

switch(【原始表达式】){

case 【值1】:【语句表达式1】;

case 【值2】:【语句表达式2】;

。。。

case 【值y】:【语句表达式y】;

。。。

case 【值n】:【语句表达式n】;

default:【默认表达式】;(deafult及其默认表达可以不写)

}

用法:先算【原始表达式】的值,如果【原始表达式】的值与【值1】~【值n】中某一个【值y】相同,那么从【语句表达式y】开始执行

再执行【语句表达式y+1】,直到【语句表达式n】,最后执行【默认表达式】

如果再switch语句中看到了break;那么此流程控制语句被打断,直接跳过流程控制语句。

int a=1;
switch(a){
case 0:
a++;//不执行
case 1:
a--;//a变成0
case 2:
++a;//a变成1
case 3:
--a;//a变成0
default:
System.out.println(a);//输出0
}

注意:switch用于等值的判断。case后面必须是个值,不可以是区间

当布尔表达式是等值判断时,既可以多选择结构,也可以用switch结构

当布尔表达式是区间判断时,只能用多选择结构。

任何switch结构都可以用多选择结构替代

但遇到多值判断时,用switch结构,可阅读性更强

posted @ 2020-05-11 17:21  CKuan  阅读(291)  评论(0编辑  收藏  举报