分支结构:单分支if、多分支if-else、switch语句
java中的程序结构 1)顺序结构:编写的 每行 代码 一定 会执行 一次 2)分支结构:编写的代码 可能 会执行 一次 3)循环结构:编写的代码 可能 会执行 多次
分支结构
根据某个条件的真或假决定是否运行某段代码
1)单分支
if语句
if(<条件>){ //当条件为真时运行的代码 }//{}结束后无论条件是真是假,都继续执行外面的代码
{}可以省略,但是不写{}只对一行代码生效,所以不建议省略
2)双分支
当某个条件满足时运行指定代码A,当这个条件不满足时运行指定代码B if-else语句
if(<条件>){ //条件为真,运行这里的代码 }else{ //条件为假,运行这里的代码 }//无论条件真假都要运行的代码
多分枝结构
1)if-else if(多重if)
if(条件1){ //条件1为真时运行 }else if(条件2){ //条件1为假,条件2为真时运行 }else if(条件3){ //条件1、2为假,条件3为真时运行 }else{ //条件1、2、3为假时运行, }
-
else if的数量是不限的 else是可以省略的 多重if结构只能运行其中的一个代码块 判断条件的顺序是有要求的
2)switch结构
运行效率高,使用更灵活
语法 switch(<整数表达式>){ case[常量1]: //当整数表达式值为常量1时运行 break; case[常量2]: //当整数表达式值为常量2时运行 break; .... default: //没有任何常量匹配整数表达式运行 }
-
整数表达式:最终结果是个整数的算式,通常情况下,可能是变量 整数表达式只能是byte、short、char、int类型 JDK1.7之后支持String 不能是小数 case后面的常量:一定要是常量,不能是变量 eg:int x=3;如果是case[3],就是对的,如果是case[x],就会报错。
-
break关键字:终止switch代码的运行,继续运行switch{}之后的内容, 如果不编写break,就会出现case穿透现象
3)多重if和switch结构的小结
多重if优点:特别适合于判断一个值在一个范围的情况 switch优点:使用灵活,结构简单,运行效率高,特别适合于等值判断