JAVA的分支结构

2023-11-13

分支结构

基本概述

当需要进行条件判断的时候,并且根据条件是否成立来执行某一段代码的时候,需要分支结构。

1. if结构

if(布尔表达式)
{
   语句块//如果布尔表达式为true将执行的语句
}

如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代码。

实例:

public class Test {
 
   public static void main(String args[]){
      int x = 10;
 
      if( x < 20 ){
         System.out.print("这是 if 语句");
      }
   }
}

2. if-else分支结构

if(布尔表达式){
   //如果布尔表达式的值为true
}else{
   //如果布尔表达式的值为false
}

if 语句后面可以跟 else 语句,当 if 语句的布尔表达式值为 false 时,else 语句块会被执行。

实例:

public class Test {
 
   public static void main(String args[]){
      int x = 30;
 
      if( x < 20 ){
         System.out.print("这是 if 语句");
      }else{
         System.out.print("这是 else 语句");
      }
   }
}

3. if-else if-else语句

if(布尔表达式 1){
   语句块1//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
   语句块2//如果布尔表达式 2的值为true执行代码
}else { 
   语句块3
}
   语句块4

if 语句后面可以跟 else if…else 语句,这种语句可以检测到多种可能的情况。

使用 if,else if,else 语句的时候,需要注意下面几点:

if 语句至多有 1 个 else 语句,else 语句在所有的 else if 语句之后。
if 语句可以有若干个 else if 语句,它们必须在 else 语句之前。
一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行。

执行流程:
	判断条件1是否成立
		⇒ 成立,执行语句块1,执行语句块4
		⇒ 不成立,判断条件2是否成立
				⇒ 成立,执行语句块2,执行语句块4
				⇒ 不成立,执行语句块3,执行语句块4

4. switch-case结构

switch(expression){
    case value1 :
       //语句1
       break; //可选
    case value2 :
       //语句2
       break; //可选
    //你可以有任意数量的case语句
    default : //可选
       //语句3
}
	//语句4

switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

执行流程:
	计算变量/表达式的数值 ⇒ 判断是否匹配字面值1;
	⇒ 匹配,执行语句1,执行语句4
	⇒ 不匹配,判断是否匹配字面值2
		⇒ 匹配,执行语句2,执行语句4
		⇒ 不匹配,执行语句3,执行语句4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JAVA的分支结构 的相关文章

  • SWIG 类型映射 uint8_t* 从 C/C++ 到 java.nio.ByteBuffer

    我正在尝试将输入和输出缓冲区从 C 传递给 java 类 出于效率原因 我需要使用 ByteBuffer 这两个缓冲区都是在 C 部分中分配的 我需要将它们传递给一个 java 函数 该函数将使用输入缓冲区进行一些计算并将结果写入输出缓冲区
  • 在游戏框架中编写功能测试的正确方法

    在为基于 play1 2 4 的 web 应用程序编写功能测试时 我对如何正确编码感到有点困惑 困惑在于所涉及的事务边界 我在某处读到每个测试都有自己的事务 在我的应用程序中 用户可以登录并向购物车添加一些商品 然后他可以提供一个地址 以便
  • 如何在 Android 中恢复我的音频?

    我必须实现用于创建具有暂停和恢复状态的音频的应用程序 当我的应用程序作为启动时音频启动 当我按下模拟器上的后退按钮时 音频音乐处于暂停状态 但是当我的活动回来时从停止状态到前台我的音频音乐未恢复 这是我的代码 public class Au
  • 通过 JDBC 与 CLI 使用 MIT Kerberos 连接到 PostgreSQL 9.4 时出错

    我已经使用 MIT Kerberos 5 设置了 PostgreSQL 9 4 并且可以使用 psql 在 CLI 上连接 提交指纹后 我的委托人是 bgiles postgres REALM pg hba conf 有 host all
  • 从 Java 启动外部进程:stdout 和 stderr

    我正在使用标准从 java 启动一个外部进程java lang Process 我试图弄清楚该过程的输出是什么 但是采用结合了两者的格式stdout and stderr 目前 我有Process getInputStream它提供了访问s
  • AES BadPaddingException

    如果我使用错误的密钥或错误的盐进行解密 则会引发 BadPaddingException 我希望返回一个不正确的字符串 doFinal 导致解密方法出现异常 信息 This is just an example Unfug S F V s
  • 使用 Thymeleaf 时我们应该删除 HTML 属性吗?

    我正在研究 Thymeleaf 发现几乎所有示例中都有 Thymeleaf 的标签值以及标准 HTML 值 例如 这些
  • Hibernate、MySQL 视图和 hibernate.hbm2ddl.auto = 验证

    我可以在 Hibernate 中使用 MySQL 视图 将它们视为表 即 该实体与为表创建的实体没有什么不同 但是 当 Hibernate 设置为验证模型时 我的应用程序将不会部署 因为它找不到视图 因为它假设它是一个表 是否可以在启用部署
  • EasyMock : java.lang.IllegalStateException: 1 个匹配器预期,2 个记录

    我在使用 EasyMock 2 5 2 和 JUnit 4 8 2 通过 Eclipse 运行 时遇到问题 我已阅读此处所有类似的帖子 但尚未找到答案 我有一个包含两个测试的类 它们测试相同的方法 我正在使用匹配器 每个测试单独运行时都会通
  • 基于Java模式分割字符串

    您好 我有以下模式的日志文件 2014 03 06 03 21 45 432 ERROR mfs pool 3 thread 19 dispatcher StatusNotification Error processing notific
  • 使用泛型进行选择排序

    我对整数进行了选择排序并且它正在工作 当我尝试修改程序以使用泛型时 编译器会抱怨 我不知道如何修复它 如果有人能提出一些建议和建设性意见 我将不胜感激 这是代码 public class SelelctionSort public stat
  • 使用 Lint 和 SonarQube 分析 Android 项目

    我真的 溢出 了试图让这些东西一起工作 我按照这里的指示进行操作 http docs sonarqube org display PLUG Android Lint Plugin http docs sonarqube org displa
  • C3P0:生产中未返回的连接超时?

    参数unreturnedConnectionTimeout给定时间段后未返回的连接超时 我正在尝试决定是否应该在我的制作中使用它persistence xml 使用它的一大优点是连接池将能够从泄漏的连接中恢复 一个很大的缺点是泄漏的连接将很
  • Android 以编程方式停止 toast 通知?

    有没有办法以编程方式停止 Toast 消息 假设我有一个按钮 单击它可以滚动 toast 消息 并且在 onclick 事件中我想停止队列中的所有消息并只显示新消息 我该怎么做 我的代码的简化版本如下 代码 public class Hel
  • JavaFX 8 默认消息图标

    随着 JavaFX 的最近几次更新 我们收到了警报 我想获取消息的默认图标 错误 警告 在Swing中 我可以通过一些方式获取L F消息图标UIManager的属性 如何在 JavaFX 中获取消息的默认图标 它们是包含在属性中 还是由 C
  • 从字符串中提取文本 Java

    使用此字符串 ADACADABRA 如何从java中的字符串 ADACADABRA 中提取 CADA 以及如何提取 和 之间的id从下面的链接 http www youtube nocookie com embed zaaU9lJ34c5
  • JSF - 实施受限页面过滤器

    我正在关注 BalusC 的回答JSF 2 0 如何获取在浏览器地址栏中输入的 URL https stackoverflow com questions 4105263 jsf 2 0 how to get the url that is
  • 需要同步仅增量计数器吗?

    我使用整数作为计数器 该整数只会增加 并且肯定有多个线程会同时增加它 当没有其他线程尝试访问其值时 在程序执行结束时读取该计数器的值 我假设我不必为这种仅增量计数器使用锁或任何类型的同步 这是正确的吗 如果这有什么区别的话 我用 Java
  • 从 IntelliJ 运行 JavaFX 应用程序

    Versions openjdk版本 11 0 11 2021 04 20 OpenJDK 运行时环境 build 11 0 11 9 Ubuntu 0ubuntu2 20 10 OpenJDK 64 位服务器虚拟机 内部版本 11 0 1
  • JavaFX 中的 MVC 模式与场景生成器

    我是 JavaFX 新手 根据我当前的设置 正在努力创建合适的 MVC 架构 我使用 Scene Builder 单击了一个 UI 并指定了一个 Controller 类 Startup public class Portal extend

随机推荐

  • UVA-1601 万圣节后的早晨 题解答案代码 算法竞赛入门经典第二版

    GitHub jzplp aoapc UVA Answer 算法竞赛入门经典 例题和习题答案 刘汝佳 第二版 以三个点的当前位置作为状态 广度优先遍历 找到终点即为最短次数 注意 一次可以移动多个点 但是每个点只能移动一步 在同一次中 B可
  • oschina源码分析之侧滑菜单界面之可以拖动的ScrollView

    先上源码 package net oschina app widget import android annotation SuppressLint import android content Context import android
  • 云汉芯城下载封装导入AD

    1 首先需要先注册一个账号 没账号没法下载 2 这里以磁珠ILHB0805ER900V 为例 选择要下载的模型 3 打开AD 文件 gt 运行脚本 选择浏览 来自文件 找到下载的模型的位置 找到 PrjScr后缀的 双击打开 出现如下图片
  • TensorFlow图变量tf.Variable的用法解析,后面的name属性和前面的变量名有什么关系?如果不同,在调用上以谁为准?

    jjjj32481 后面的name属性和前面的变量名有什么关系 如果不同 在调用上以谁为准 UESTC C2 403回复 jjjj32481 name这个属性就是给变量取个名字 你可以用name这个属性函数查看一下 如果没有取名 那么输出就
  • 解决Port xxxx was already in use 端口被占用问题

    解决Port xxxx was already in use 端口被占用问题 通过快捷键Window R 键入cmd 进入命令行 1 输入如下命令查看端口被占用的进程 netstat ano findstr 8088 可以发现端口8088被
  • 程序员绩效总结_程序员吐槽,绩效工资与bug数量挂钩,网友:那就别敲代码

    近日 一个程序员提了一个问题 引起热议 该程序员表示 绩效跟bug数量挂钩合理吗 bug多就扣工资 连续几个月的话还辞退 对此 很多网友都认为完全不合理 如果是这样的话 那不敲代码岂不是就没有bug了 这完全有种为辞退找理由嘛 有句俗话说得
  • Linux系统中部署软件

    目录 1 Mysql 2 Redis 3 ZooKeeper 声明 致谢 1 Mysql 参考 CentOS7安装MySQL 补充 执行 rpm import https repo mysql com RPM GPG KEY mysql 2
  • node学习—validate数据库验证

    数据库验证 一 数据库验证 一 数据库验证 service studentService const Student require models Student const Op require sequelize const Class
  • STM32对接涂鸦wifi模块项目记录(智能插座完善版本)

    应项目需求 客户需要对接涂鸦平台 从了解平台到样品实际落地 还是挺方便的 做过的一个项目 人体感应智能插座项目 对接涂鸦云 硬件平台 STM32F103 WIFI模块 涂鸦WiFi 型号见文章说明 云平台 涂鸦云 更新项目原理图部分说明 更
  • Linux nmcli控制NetworkManager的命令行工具

    RHEL7 与 CentOS 7 以上的版本中默认的网络服务由 NetworkManager 提供 简称NM 这是动态控制及配置网络的守护进程 它用于保持当前网络设备及连接处于工作状态 同时也支持传统的 ifcfg 类型的配置文件 Netw
  • 盘点俄罗斯程序猿写的几款软件,你用过几个?最后1个是我的童年

    1 7zip 7 Zip 作者 abhishek prakash 是一款 开源 的 免费 软件 大多数源代码都基于 GNU LGPL 许可协议下发布 部分代码基于 BSD 3 句条款 BSD 3 clause 许可协议发布 可以在任何一台计
  • java private 构造函数_java-构造函数是否必须总是公开的?

    java 构造函数是否必须总是公开的 这个问题已经在这里有了答案 java中private构造函数的用法是什么 10个答案 我的第一个问题是 class Explain public Explain 构造函数应始终声明为公共吗 如果我创建2
  • Nginx 解决做反向代理时 静态资源图片、 js、css 访问不到

    在反向代理时添加另一个规则 反向代理 location proxy pass http localhost 9001 解决js css 访问不到的问题 location proxy pass http localhost 9001 prox
  • Lua 学习笔记:沙盒

    背景知识 Lua 给我的感觉是 各种内置函数和标准库的存在感都是比较强的 如果执行这句 for name in pairs G do print G end 就会把各种环境中已存在名称的打印出来 全局变量 比如字符串 VERSION 内置函
  • Linux系统简介和各发行版介绍

    一 Linux 简介 二 Linux和UNIX的关系及区别 UNIX 的发展历史 Linux 和 UNIX 的关系 区别 三 Linux 的发行版介绍 Linux各发行版简介 Debian 以社区的方式运作 Redhat 商业公司维护的发行
  • 使用 OpenSSL API 建立安全连接 - 双向认证

    使用 OpenSSL API 进行安全编程 一 概念 1 什么是 SSL SSL 是一个缩写 全称是 Secure Sockets Layer 它是支持在 Internet 上进行安全通信的标准 并且将数据密码术集成到了协议之中 数据在离开
  • mybatis log插件

    目前idea当中已经实施收费了 最近找了一个不收费的插件安装上重启一下就行了 点我下载提取码 sjc8
  • 如何提取视频的m3u8地址

    1 用360浏览器或者其他Chrome内核浏览器打开优酷网页 2 在播放页面按F12打开审核模式 3 点击如图图标模拟移动设备 4 设置模拟的设备 5 按F5刷新即可进入手机版网页 6 点击Network 7 点击Media 8 点击播放按
  • 2017年蓝桥杯B组C/C++省赛-分巧克力

    题目 题目链接 题解 二分 想到二分比实现二分要难点 可行解部分可以与不可行解部分完美地分隔开来 绿色部分是分成的巧克力比较小时都可以满足 而大于一定程度的时候就不可行了 所以可以将其抽象成小于可行 大于不可行的二分问题 在判断时 遍历全部
  • JAVA的分支结构

    分支结构 基本概述 当需要进行条件判断的时候 并且根据条件是否成立来执行某一段代码的时候 需要分支结构 1 if结构 if 布尔表达式 语句块 如果布尔表达式为true将执行的语句 如果布尔表达式的值为 true 则执行 if 语句中的代码