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



目录
相关文章
|
缓存 架构师 算法
【Conan 入门教程 】深入理解 Conan 2.X 中的 self.source_folder
【Conan 入门教程 】深入理解 Conan 2.X 中的 self.source_folder
291 1
|
11月前
|
人工智能 前端开发 API
鸿蒙开发:简单自定义一个绘制画板
画板,最重要的就是绘制,保证线条绘制的连续性,这一点很重要,还有就是beginPath方法一定要调用,否则更改颜色以及绘制就会出现不连续以及颜色设置错误问题。
197 14
鸿蒙开发:简单自定义一个绘制画板
|
9月前
|
数据可视化 API 开发者
R1类模型推理能力评测手把手实战
随着DeepSeek-R1模型的广泛应用,越来越多的开发者开始尝试复现类似的模型,以提升其推理能力。
740 2
|
前端开发 JavaScript 开发工具
2024年前端开发的十大必备技巧
本文概述了2024年前端开发的十大关键技能,包括现代JavaScript、CSS Grid/Flexbox布局、主流框架精通、Web性能优化、Git版本控制、调试技巧、Web可访问性、现代构建工具使用、PWA开发及持续学习,旨在助力开发者提升Web开发质量和用户体验。
|
存储 自然语言处理 API
打破文本边界:如何进行多模态RAG评估
一般的检索增强生成(RAG,Retrieval-Augmented Generation)方法主要依赖于文本数据,常常忽略了图像中的丰富信息。那么应该如何解决呢?本文带你了解一下这个模型。
打破文本边界:如何进行多模态RAG评估
|
机器学习/深度学习 传感器 自动驾驶
视觉BEV基本原理和方案解析
视觉BEV在高德高精地图地面要素识别、车道线拓扑构建、车端融合定位等业务场景中都扮演了重要角色。
|
Java 关系型数据库 MySQL
如何安装系统必备开发环境:JDK 1.8+、MySQL 5.7+ 与 Maven 3.0+
【7月更文挑战第1天】搭建Java开发环境:安装JDK 1.8+,MySQL 5.7+,Maven 3.0+。访问官方源下载对应软件,配置Windows或Linux/macOS的环境变量,包括`JAVA_HOME`, `PATH`, `MYSQL_ROOT_PASSWORD`及`MAVEN_HOME`。测试安装成功分别用`java/javac -version`, `mysql -u root -p`和`mvn -v`检查版本。完成后,即可开始Java项目开发。
1040 0
|
安全 Shell 网络安全
GitHub SSH 快速配置
这是一个自动化脚本,用于简化设置 Git SSH 连接的过程。功能包括:设置 Git 用户名和邮箱、生成新的 SSH 密钥、将 SSH 私钥添加到 ssh-agent、可选复制 SSH 公钥到剪贴板、提供 GitHub 配置指引以及测试 SSH 连接。用户需确保安装 Git 和 SSH 工具,然后下载脚本并赋予执行权限,按照提示操作即可。适合 Git 初学者或需要快速配置 SSH 的用户。
190 5
|
容器
Flex 布局和 Grid 布局的区别
Flex 布局和 Grid 布局的区别
346 0
|
安全 架构师 网络安全

热门文章

最新文章