一.顺序结构
之前我们把方法写到主函数中,从头写到尾,类似于叙事型文章,这就是循序结构
二.If...else选择结构
1.格式一:if{}
根据上边的图片可以看到,当使用if语句的时候程序会对条件表达式进行判断,如果结果为true那么程序就会执行下边的代码块,如果结果为false那么就不会执行里边的代码块,会跳过这部分代码去执行接下来的代码。
可以通过下边的代码来体会一下:
2.格式二:if{}else{}
根据图片我们可以看出来,if else语句与if语句类似,也要对条件语句进行判断,不同的是if else多出来一个代码块,用于条件语句判断为false的时候进行执行,也就是说当使用if else语句的时候,无论判断的结果如何,这一部分的代码是一定会执行其中的一部分。
可以通过下边的代码来进行体会:
3.格式三:if{}elseif{}else{}
由上图可以看到ifelseif 有多个条件语句,可以进行多次的判断,当第一个条件语句不成立的时候就会根据条件语句2来进行判断,以此类推,如果所有条件都不满足那么就会执行else语句中的内容。
可以通过一下代码来进行体会:
4.格式四:嵌套
在if语句中可以使用多个if语句,以便于对条件把控的更加精准,如下面的代码:
需求:找到年龄大于20岁,并且工资大于10000的人
If else有一种特殊的结构,就是没有”{}”,这种结构有一种硬性的要求就是if或者else语句中范围只能是紧挨着的第一条语句。这种结构在我们正常编写代码的时候是不会使用的,但是在我们查看源码的时候会发现有很多这种结构,到时候小伙伴们不要惊慌。(范围查看的方法,把光标移到{后边,然后双击,变成蓝色的部分就是语句的范围)
三.If...else综合练习
在这里我放上两个案例供小伙伴们来自行解读练习
案例一:
案例二:
四.Switch...case结构
1.switch语法规则
(1) 表达式expr的值必须是下述的几种类型之一:
Int,byte,char,short,enum;Java7之后可以是String,不能用Boolean,long,double等
(2) Case子句中的值const必须是常量值(或者final的变量),case中的值不是一个范围
(3) 所有case子句中的值应是不同,否则会编译出错
(4) Default子句是可选的(不必要)
(5) Break语句是用来在执行完一个case分支后使程序跳出switch语句块,否则会继续执行下去(这点可以自行删除break来体会)
2.语法格式
3.执行顺序
与if else类似,在case都不满足的情况下,执行default中的内容Break帮助跳出switch语句,如果执行过程中没有遇到break则会继续向下执行直到遇到break,或者整个switch语句执行完毕
4.练习
针对JDK1.7及以后版本,可以使用字符串
5.Switch综合练习
这里提供一个案例,可以自行解读体会
Switch和if语句的对比
1. 如果判断的具体数值不多,而且符合byte、short 、char、int、String、枚举等几 种类型。虽然两 个语句都可以使用,建议使用swtich语句。因为效率稍高。
2. 其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。也就是说,使 用switch-case的,都可以改写为if-else。反之不成立。