Java - 分支结构 - if…else/switch
Java 分支结构 - if…else/switch
- if语句
- 语法
- if...else 语句
- 语法
- 实例
- if...else if...else 语句
- 语法
- 实例
- 嵌套的 if…else 语句
- 语法
- 实例
- switch 语句
- 语法
- 实例
顺序结构只能顺序执行,不能进行判断和选择,因此需要分支结构。
Java有两种分支结构:
- if语句
- switch语句
if语句
一个if语句包含一个布尔表达式和一条或多条语句。
语法
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 语句"); }}
}
以上代码编译运行结果如下:
这是 if 语句
if…else 语句
if 语句后面可以跟 else 语句,当if语句的布尔表达式值为 false 时,else 语句块会被执行。
语法
if…else 的用法如下:
if(布尔表达式){//如果布尔表达式的值为true
}else{//如果布尔表达式的值为false
}
实例
public class Test {public static void main(String args[]){int x = 30;if( x < 20 ){System.out.print("这是 if 语句");}else{System.out.print("这是 else 语句");}}
}
以上代码编译运行结果如下:
这是 else 语句
if…else if…else 语句
if 语句后面可以跟 else if…else 语句,这种语句可以检测到多种可能的情况。
使用if,else if,else语句的时候,需要注意下面几点:
- if 语句至多有 1 个 else 语句,else 语句在所有的 else if 语句之后。
- If 语句可以有若干个 else if 语句,它们必须在 else 语句之前。
- 一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行。
语法
if…else 语法格式如下:
if(布尔表达式 1){//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){//如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){//如果布尔表达式 3的值为true执行代码
}else {//如果以上布尔表达式都不为true执行代码
}
实例
public class Test {public static void main(String args[]){int x = 30;if( x == 10 ){System.out.print("Value of X is 10");}else if( x == 20 ){System.out.print("Value of X is 20");}else if( x == 30 ){System.out.print("Value of X is 30");}else{System.out.print("这是 else 语句");}}
}
以上代码编译运行结果如下:
Value of X is 30
嵌套的 if…else 语句
使用嵌套的 if-else 语句是合法的。也就是说你可以在另一个 if 或者 else if 语句中使用 if 或者 else if 语句。
语法
嵌套的 if…else 语法格式如下:
if(布尔表达式 1){如果布尔表达式 1的值为true执行代码if(布尔表达式 2){如果布尔表达式 2的值为true执行代码}
}
你可以像 if 语句一样嵌套 else if…else。
实例
public class Test {public static void main(String args[]){int x = 30;int y = 10;if( x == 30 ){if( y == 10 ){System.out.print("X = 30 and Y = 10");}}}
}
以上代码编译运行结果如下:
X = 30 and Y = 10
switch 语句
switch 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
语法
switch 语法格式如下:
switch(expression){case value ://语句break; //可选case value ://语句break; //可选//你可以有任意数量的case语句default : //可选//语句
}
switch 语句有如下规则:
- switch 语句中的变量类型只能为 byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。
- switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。
- case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。
- 当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到break语句出现才会跳出 switch 语句。
- 当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。
- switch 语句可以包含一个 default 分支,该分支必须是 switch 语句的最后一个分支。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。
实例
public class Test {public static void main(String args[]){//char grade = args[0].charAt(0);char grade = 'C';switch(grade){case 'A' :System.out.println("优秀"); break;case 'B' :case 'C' :System.out.println("良好");break;case 'D' :System.out.println("及格");case 'F' :System.out.println("你需要继续努力");break;default :System.out.println("无效等级");}System.out.println("你的等级是 " + grade);}
}
以上代码编译运行结果如下:
良好
你的等级是 C
相关文章:
Java - 分支结构 - if…else/switch
Java 分支结构 - if…else/switch if语句语法 if...else 语句语法实例 if...else if...else 语句语法实例 嵌套的 if…else 语句语法实例 switch 语句语法实例 顺序结构只能顺序执行,不能进行判断和选择,因此需要分支结构。 Java有两种分支结构…...
web安全渗透测试十大常规项(一):web渗透测试之XML和XXE外部实体注入
#详细点: XML被设计为传输和存储数据,XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素,其焦点是数据的内容,其把数据从HTML分离,是独立于软件和硬件的信息传输工具。等同于JSON传输。XXE漏洞XML External Entity Injection,即xml外部实体注入漏洞,XXE漏洞发…...
任务3.8.2 利用RDD计算总分与平均分
实战:使用RDD 计算学生成绩的总分与平均分 项目背景 本项目旨在利用 Apache Spark 的强大数据处理能力,对存储在 HDFS 上的学生成绩文件进行处理,计算每个学生的总分和平均分。 项目目标 读取存储在 HDFS 上的成绩文件。计算每个学生的总…...
探索磁力搜索引擎:互联网资源获取的新视角
在当今数字化社会中,寻找和获取网络资源变得更加便捷和多样化。磁力搜索引擎作为这一趋势的一部分,提供了一种新颖而有效的方法来定位和获取用户所需的文件、媒体和其他数字内容。本文将深入探讨磁力搜索引擎的工作原理、使用场景及其在网络文化中的影响…...
立创开源学习篇(一)
1.机壳地 外面包围的一圈是机壳地,和金属外壳相连与电路板的GND不相连:(大疆很多产品有此设计) 屏蔽和接地:通过在电路板周围打孔,并连接到机壳地,可以形成有效的电磁屏蔽层(形成金…...
2024/6/18 英语每日一段
While refusing to attribute various problems to specific labs in order to protect the investigators’ sources, the Gladstone AI team told The Washington Times that it found various assessments of security issues were “totally untethered to reality” about…...
时隔一年,SSD大涨价?
同样产品,2T,去年400多到手,今年700。 去年 今年...
【TB作品】MSP430G2553,单片机,口袋板,流量积算仪设计
题9 流量积算仪设计 某型流量计精度为0.1%, 满刻度值为4L/s,流量计输出为4—20 mA。 设计基于MSP430及VFC32的流量积算仪。 具体要求 (1) 积算仪满刻度10000 L,精度0.1 L; 计满10000 L,自动归零并通过串口(RS232)向上位…...
九、数据结构(并查集)
文章目录 1.并查集操作的简单实现2.解决问题3. 并查集优化3.1 合并的优化3.2查询优化3.3查询优化2 通常用“帮派”的例子来说明并查集的应用背景:在一个城市中有 n ( n < 1 0 6 ) n(n < 10^6) n(n<106)个人,他们分成不同的帮派,给出…...
大模型开发技术基础
大模型(Large Model)的开发涉及多个技术基础和领域,涵盖了机器学习、深度学习、自然语言处理(NLP)、计算机视觉(CV)、数据工程等方面。以下是一些关键的技术基础: 1. 机器学习和深度…...
芯片验证分享9 —— 芯片调试
大家好,我是谷公子,之前的课程给大家讲了验证原则、激励设计和代码审查,今天我们来讲芯片调试。 芯片调试是执行一次成功的验证之后要进行的工作。记住,所谓成功的验证,是指它可以证明芯片没有实现预期的功能。调试主…...
java 面试题--基础
文章目录 基础java SE 、 EE 、 ME 的区别jdk 和 jre 区别?java 的日志级别基本数据类型 特性关键字finalabstractsuperswitchfortry catch 接口和抽象类的区别接口抽象类适用场景 类的加载循序静态代码块 传参问题访问修饰符运算符 反射java 里的应用为什么反射的性…...
必看!!! 2024 最新 PG 硬核干货大盘点(上)
PGConf.dev(原名PGCon,从2007年至2023年)首次在风景如画的加拿大温哥华市举办。此次重新定位的会议带来了全新的视角和多项新的内容,参会体验再次升级。尽管 PGCon 历来更侧重于开发者,吸引来自世界各地的资深开发者、…...
Redis 高可用 sentinel
简介 Sentinel提供了一种高可用方案来抵抗节点故障,当故障发生时Redis集群可以自动进行主从切换,程序可以不用重启。 Redis Sentinel集群可以看成是一个Zookeeper集群,他是Redis集群高可用的心脏,一般由3-5个节点组成࿰…...
【数据结构】练习集
数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的存储结构。(F) 在顺序表中逻辑上相邻的元素,其对应的物理位置也是相邻的。(T) 若一个栈的输入序列为{1, 2, 3, 4, 5},则不可能得到…...
驱动开发(四):Linux内核中断
驱动开发系列文章: 驱动开发(一):驱动代码的基本框架 驱动开发(二):创建字符设备驱动 驱动开发(三):内核层控制硬件层 驱动开发(四…...
btrace:binder_transaction+eBPF+Golang实现通用的Android APP动态行为追踪工具
一、简介: 在进行Android恶意APP检测时,需要进行自动化的行为分析,一般至少包括行为采集和行为分析两个模块。其中,行为分析有基于规则、基于机器学习、基于深度学习甚至基于大模型的方案,各有各的优缺点,不…...
C# OCCT Winform 界面搭建
目录 1.创建一个WInform项目 2.代码总览 代码解析 3.添加模型到场景 4.鼠标交互 1.创建一个WInform项目 2.代码总览 using Macad.Occt.Helper; using Macad.Occt; using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Remoting.Co…...
System.Dynamic.ExpandoObject的使用说明
官方文档 ExpandoObject 类 (System.Dynamic) | Microsoft Learn https://learn.microsoft.com/zh-cn/dotnet/api/system.dynamic.expandoobject?viewnet-8.0 System.Dynamic.ExpandoObject 类 - .NET | Microsoft Learn https://learn.microsoft.com/zh-cn/dotnet/fundame…...
adb之ps命令用法
目录 前言一、命令参数二、输出结果含义 前言 在adb shell终端,输入 ps,可查看手机当前所有的进程状态,其中ps的英文全称是Process Status。 ps命令对于分析系统异常情况时都是必备的技能,需要通过这个简单命令来查看系统真实的状…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...
Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案
在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...
【Kafka】Kafka从入门到实战:构建高吞吐量分布式消息系统
Kafka从入门到实战:构建高吞吐量分布式消息系统 一、Kafka概述 Apache Kafka是一个分布式流处理平台,最初由LinkedIn开发,后成为Apache顶级项目。它被设计用于高吞吐量、低延迟的消息处理,能够处理来自多个生产者的海量数据,并将这些数据实时传递给消费者。 Kafka核心特…...
未授权访问事件频发,我们应当如何应对?
在当下,数据已成为企业和组织的核心资产,是推动业务发展、决策制定以及创新的关键驱动力。然而,未授权访问这一隐匿的安全威胁,正如同高悬的达摩克利斯之剑,时刻威胁着数据的安全,一旦触发,便可…...
