一.if选择结构
1.if else
语法
if(布尔表达式){ 代码体1; }else{ 代码体2; }
1.1 这是基本的if语句,如果布尔表达式的返回值为真,即进行代码体1,
若返回值为假,程序则会直接跳过代码体1进入代码体2或是下一语句
根据需要else{}可以省略
2.多重if
语法:
if(布尔表达式1){ //代码体1; }else if(布尔表达式2){ //代码体2; }else if(布尔表达式3){ //代码体3; }else { //代码体4; }
一般来说多重if与if只是多了几个选择而已,需注意,几个if里若有一个为true 则只执行这一个if,其他均不执行,此为多重if的互相排斥
一般的布尔表达式的范围是有序的,要么从大到小,要么从小到大
3.嵌套if
语法:
if(布尔表达式1){ if(布尔表达式2){ //代码体2; }else { //代码体3; } }
此语法适用情况为一个大的范围内有两个小范围的选择,而上述代码示例是在满足了布尔表达式1之后,程序会进行第二个if选择
所以执行的流程为当外层条件满足后再进行内层的条件判断
一般来讲选择结构可以相互嵌套,但嵌套结构最好不超过三层
二.switch 分支结构
语法:
switch(变量|表达式){ case 值1: 代码; case 值2: 代码; case 值3: 代码; default : 未满足时的代码; }
**可判断的类型: byte short int char String (jdk7+)
执行的流程: 程序执行switch语句时会找到变量或者表达式的值,然后与每个case的值对应,若值相等则进行该条case后的代码
需注意,若一条case对应上了,不仅这条case里的代码会被执行,该条case后面case,default等的代码也会被执行
**因此,为了解决这一问题,java引入了break关键字,若该关键字被执行则会跳出swtich语句,执行后续代码,用法如下
case 值1: 代码; break; case 值2: 代码; break; case 值3: 代码; break;
在加入了break关键字后,只要这三条case有任意一个被匹配了,则执行完相应的代码后就会跳出swtich语句;