Java从入门到项目实战(全程视频版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.2 分支结构

分支结构主要是根据布尔表达式的判断结果来决定是否去执行某段程序代码,在Java语言里面,一共提供有两类分支结构:if分支结构和switch开关语句。

3.2.1 if分支结构

img

if分支结构主要是针对于逻辑运算的处理结果来判断是否执行某段代码,在Java中可以使用if与else两个关键字实现此类结构,一共有以下3种组合形式。

img

这3种语句的执行流程图如图3-4~图3-6所示。

img

图3-4 if判断

img

图3-5 if…else判断

img

图3-6 多条件判断

下面通过程序讲解3类分支语句的使用。

范例:使用if语句结构

img

if语句是根据逻辑判断条件的结果来决定是否要执行代码中的语句,由于此时判断条件满足,所以if语句中的代码可以正常执行。

范例:使用if…else…语句结构

img
img

本程序if…else语句执行了布尔表达式的判断,如果条件满足则执行if语句代码;如果条件不满足则执行else语句代码。

范例:多条件判断

img

使用if多条件判断可以进行更多的布尔条件的判断,第一个条件使用if结构定义,其余的条件使用else if结构定义,如果所有的条件都不满足,则执行else语句代码。

3.2.2 switch开关语句

img

switch是一个开关语句,它主要根据内容进行判断。需要注意的是,switch语句只能判断数据(int、char、枚举、String),而不能使用布尔表达式进行判断,执行流程如图3-7所示,switch语法如下。

img
img
img

图3-7 switch流程图

注意:if可以判断布尔表达式,而switch只能够判断内容。

在分支结构中,使用if语句结构可以判断指定布尔表达式的结果。但是switch的判断不能够使用布尔表达式,它最早的时候只能够进行整数或者是字符的判断,但是从JDK 1.5开始支持枚举判断,在JDK 1.7的时候支持了String的判断。

在每一个case里面出现的break语句,表示的是停止case的执行,因为switch语句默认情况下会从第一个满足的case语句开始执行全部的语句代码,一直到整个switch执行完毕或者遇见了break语句。

范例:使用switch语句

img

本程序只使用了switch语句,由于没有在每一个case语句中定义break,所以会在第一个满足条件处一直执行,直到switch执行完毕。如果现在不希望影响到其他的case语句执行,则可以在每一个case语句中使用break。

范例:使用break语句中断其余case执行

img

本程序由于在case语句里面定义了break语句,所以执行时将不会执行其他的case语句内容。另外,需要注意的是,从JDK 1.7开始,switch语句支持了对String类型内容的判断。

范例:使用switch判断字符串内容

img

本程序使用了switch语句判断字符串的内容,需要注意的是,该判断会区分大小写,即只有大小写完全匹配后才会执行相应的case语句。