1. Java程序控制语句分为3类:选择(分支)、循环和跳转,可改变程序执行路径,实现非线性运行方式。
2. 2.6.1 if语句
1. if语句是Java的条件分支语句,可将程序执行路径分为两条。
2. if语句中condition为返回布尔值的表达式,else子句为可选内容。
3. 条件为真(true)时,执行if后的语句或程序块;条件为假则执行else后的语句,任何时候两条分支不会同时执行。
4. if语句支持嵌套,可在一个if语句内部嵌入另一个if语句。
5. 存在if-else if阶梯形式,本质等同于在else后嵌套if-else语句,用于处理多条件判断。
3. 2.6.2 switch语句与表达式
1. switch语句属于多路分支语句,根据表达式的值匹配不同case序列执行。
2. switch表达式结果类型需为byte、short、int、char、String、enum类型。
3. 运行逻辑:从上到下匹配case常量,匹配成功则执行对应case后的代码,直到遇到break或语句末尾。
4. break作用:终止当前case分支,没有break会发生case穿透,继续向后执行后续case代码。
5. default语句可选,无匹配case时执行default;无default且无匹配项则什么都不执行。
6. JDK14及之后新增yield,配合箭头语法简化switch写法,可省略break。
4. 2.6.3 while与do-while语句
1. while语句是Java最基础的循环语句,条件表达式为true时,重复执行循环体代码。
2. while循环特点:先判断,后执行,条件初始为false时,循环体一次都不会运行。
3. do-while循环特点:先执行,后判断,循环体至少执行1次,适合需要先运行逻辑再校验条件的场景。
5. 2.6.4 for语句
1. for语句结构紧凑灵活,通用格式包含初始化、条件判断、迭代三部分。
2. 执行流程:第一步执行初始化(仅运行1次);第二步判断条件,true则执行循环体,false则终止循环;第三步执行迭代更新,之后回到第二步重复判断。
3. for循环的三部分(初始化、条件、迭代)均可为空,全部为空时会构成无限死循环。
4. Java支持增强for(for-each)语句,专门用于遍历数组、集合等批量数据,简化遍历代码。
6. 2.6.5 break语句
1. break语句三大作用:终止switch语句、跳出当前本层循环、配合标签跳出指定嵌套循环。
2. 无标签break:直接终止当前所在的while、do-while、for循环,跳出后执行循环后的代码。
3. 带标签break:可精准跳出多层嵌套循环,直接结束指定标签标记的外层循环。
7. 2.6.6 continue语句
1. continue语句作用:提前结束本次循环,跳过本轮剩余循环体代码,直接进入下一次循环条件判断。
2. 无标签continue:默认跳过本层循环的单次剩余内容,直接开启本层下一轮循环。
3. 带标签continue:可指定跳过外层标记循环的本次迭代,进入外层循环的下一轮循环。
8. 2.6.7 return语句
1. return语句用于从当前方法退出,可向方法调用者返回指定数值。
2. 执行return后,当前方法后续代码不再运行,程序流程直接跳转回方法调用位置。
3. 无返回值的方法可直接使用空return,提前终止方法运行。