JavaSE——流程控制-介绍、分支结构(if分支、switch分支、使用switch分支的注意事项)

简介: JavaSE——流程控制-介绍、分支结构(if分支、switch分支、使用switch分支的注意事项)

程序流程控制

程序中最经典的三种执行顺序

顺序结构

  • 自上而下的执行代码

分支结构

  • 根据条件,选择对应代码执行  (if、switch)

循环结构

  • 空值某段代码重复执行  (for、while、do-while)

分支结构

if分支

  • 根据条件的真或假来决定是否执行某段代码

if分支有三种形式:

  • 形式一在满足条件表达式时,就进入代码部分进行执行;
  • 形式二在满足条件表达式时进入代码1部分,不满足条件表达式则进入代码2部分;
  • 形式三在满足条件表达式1时进入代码1部分,不满足条件表达式1而满足条件表达式2则进入代码2部分,以此类推,直到最后不满足所有的条件表达式就进入代码n部分。

switch分支

  • 是通过比较值来决定执行哪条分支。

switch分支的执行流程:

  1. 先执行表达式的值,再拿着这个值去与case后的值进行匹配。
  2. 与哪个case后的值匹配为true就执行哪个case块的代码,遇到break就跳出switch分支。
  3. 如果全部case后的值与之匹配都是false,则执行default块的代码。

if、switch的比较,以及各自适合什么业务场景?

  • if在功能上远远强大于switch。
  • 当前条件是区间的时候,应该使用if分支结构。
  • 当条件是与一个一个的值比较的时候,Switch分支更合适:格式良好,性能较好,代码优雅。

使用switch分支的注意事项

  • 表达式类型只能是byte、short、int、char,JDK5开始支持枚举,JDK7开始支持String、不支持double、float、long。  (浮点型在计算机运算中可能出现精度丢失)
  • case给出的值不允许重复,且只能是字面量,不能是变量。
  • 正常使用switch的时候,不要忘记写break,否则会出现穿透现象。 (穿透现象即继续运行下一个case条件,从而造成执行了两个或两个以上case条件的结果)

switch穿透性在一些情况下可以简化代码

存在多个case分支的代码相同时,可以把相同的代码放到一个case块中,其他的case块都通过穿透性穿透到该case块执行代码即可,这样可以简化代码。

public class SwitchTest
{
    public static void main(String args[])
    {
        String week = "周三";
        switch(week)
        {
            case"周一":
            case"周二":
            case"周三":
            case"周四":
                System.out.println("上课");
            case"周五":
            case"周六":
                System.out.println("复习");
            case"周日"
                System.out.println("休息");
            default:
                System.out.println("信息错误");
        }
    }
}

END



目录
相关文章
|
6月前
|
Python
phython单分支if语句
phython单分支if语句
|
11月前
分支和循环语句(2)补充goto语句
分支和循环语句(2)补充goto语句
52 1
|
Python
python之if语句的单分支,双分支,多分支,if逻辑运算符or,if逻辑运算符and,if语句的嵌套的定义及其使用方法
python之if语句的单分支,双分支,多分支,if逻辑运算符or,if逻辑运算符and,if语句的嵌套的定义及其使用方法
208 0
|
3月前
|
编译器 C语言
语句、分支与循环详解
语句、分支与循环详解
|
6月前
|
Java
深入理解多分支语句 switch
深入理解多分支语句 switch
35 3
|
5月前
分支、循环语句的简介
分支、循环语句的简介
N..
|
6月前
|
Dart 开发者
Dart语言中的分支语句和循环
Dart语言中的分支语句和循环
N..
42 0
分支语句及其应用
分支语句及其应用
51 0
分支语句(if、if-else、if-else if...else、switch)
在c语言中有三种程序结构。 1 . 顺序结构 2 . 分支结构 3 . 循环结构 本文章讲的是分支结构
|
存储 算法 编译器
倾心创作,分支语句和循环语句(1)——分支语句—— if 和switch的用法详解
分支语句(条件判断语句、选择语句) (1)if语句 a if() { …… } b if……else…… c if……else if……else…… d.悬空else (2)switch语句 a.switch语句也是一种分支语句。常常用于多分支的情况。 b.break在switch中的作用 c.switch的使用
118 0
倾心创作,分支语句和循环语句(1)——分支语句—— if 和switch的用法详解