Java分支结构:一次不经意的选择,改变了我的一生。
- 👑专栏内容:Java
- ⛪个人主页:子夜的星的主页
- 💕座右铭:前路未远,步履不停
目录
- 一、顺序结构
- 二、分支结构
- 1、`if`语句
- 2、`switch`语句
好久不见!命运之轮常常在不经意间转动,有时一个看似微小的选择就足以改变我们的一生。就像生活中的一次无意间的选择能够产生完全不同的影响一样,Java的分支语句也能根据程序的一次选择,改变整个程序的执行轨迹。好了,让我们开始慢慢了解分支结构的神奇魅力吧 ~
一、顺序结构
在介绍分支结构之前,让我们先认识一下顺序结构。如果将分支结构比喻为我们真实的人生旅程,那么顺序结构就像是生活中父母为我们设定的理想状态。他们认为我们会沿着他们为我们规划的道路一路前行,直到完成一生的旅程。然而,实际生活中,每个人都不会完全按照父母所设定的人生轨迹行走。但是在编程世界中,Java程序却不同,它会按照我们给予的代码一步步顺序地执行,直到程序的终结。
是的!Java非常听话。在Java中,顺序结构的程序会按照代码编写的顺序,一行一行地执行,从上往下依次执行,不会跳过任何一行代码。在顺序结构中,每一条语句都会在前一条语句执行完成之后才会执行。
public class Main {public static void main(String[] args) {System.out.println("读书");System.out.println("工作");System.out.println("娶妻");System.out.println("生子");}
}
如果调整代码的书写顺序,则执行顺序也发生变化。
public class Main {public static void main(String[] args) {System.out.println("读书");System.out.println("娶妻");System.out.println("工作");System.out.println("生子");}
}
二、分支结构
没错,顺序结构的人生一眼就能望到头。但万幸的是我们真实的生活是分支结构。如果我们将分支结构比喻为人生,那么它就像是我们在面临抉择时所做出的决策。每当程序遇到一个分支点,它将根据特定的条件或选择,决定程序的下一步走向。这就如同我们在生活中所面对的选择,可能会导致不同的结果和影响我们未来的发展。
1、if
语句
if
的语句比较简单。举个例子你就知道了。
比如:如果今年高考考了400分,就去上大学。
public class Main {public static void main(String[] args) {int score = 599;if(score >= 400)System.out.println("上大学!");}
}
分数够了就去上大学了,那么分数不够呢?这个时候就要用到else
了。
public class Main {public static void main(String[] args) {int score = 399;if (score >= 400) {System.out.println("上大学!");} else {System.out.println("未达到上大学的成绩要求!");System.out.println("要继续努力学习!");}}
}
这里有个需要注意的事项,当if
语句后面的代码块只有一行时,可以省略花括号。这意味着紧跟在if语句后面的那行代码属于if语句的执行体。如果你像这个例子一样需要执行多个语句,就必须加上花括号{}
,将它们组成一个代码块。
当然!if 分支语句还有一种写法。现在就展示给你看!
public class Main {public static void main(String[] args) {int score = 399;if (score >= 400) {System.out.println("上本科!");} else if (score < 400 && score >= 300) {System.out.println("上专科");} else if (score >= 200 && score < 300) {System.out.println("上复读班");}else {System.out.println("家里蹲");}}
}
2、switch
语句
switch
语句的基本语法:
switch (表达式) {case 常量1:// 执行语句块1break;case 常量2:// 执行语句块2break;// more cases...default:// 执行默认语句块break;
}
先别急,容我慢慢解释。
switch语句的执行流程是:
-
先计算表达式的值
-
和
case
依次比较,一旦有响应的匹配就执行该项下的语句,直到遇到break
时结束 -
当表达式的值没有与所列项匹配时,执行
default
int day = 1;
switch(day) {
case 1:System.out.println("星期一");break;
case 2:System.out.println("星期二");break;
case 3:System.out.println("星期三");break;
case 4:System.out.println("星期四");break;
case 5:System.out.println("星期五");break;
case 6:System.out.println("星期六");
break;
case 7:System.out.println("星期日");break;
default:System.out.println("输入有误");
break;
}
为了避免case穿透,在switch
语句中,每个case
分支后面通常需要包含break
语句。当匹配到某个case
分支时,程序会执行该分支内的代码,并且在执行完毕后终止整个switch
语句的执行。如果没有在case
分支的末尾添加break
语句,程序将会继续执行下一个case
分支的代码,而不进行条件判断。
行!我们来看一个例子,了解一下case穿透。
public class Main {public static void main(String[] args) {int day = 1;switch(day) {case 1:System.out.println("星期一");case 2:System.out.println("星期二");case 3:System.out.println("星期三");case 4:System.out.println("星期四");case 5:System.out.println("星期五");case 6:System.out.println("星期六");case 7:System.out.println("星期日");default:System.out.println("输入有误");}}
}
【switch语句的注意事项】
-
多个
case
后的常量值不可以重复 -
switch
的括号内只能是以下类型的表达式:-
基本类型:
byte
、char
、short
、int
,注意不能是long类型 -
引用类型:
String
常量串、枚举类型
-
我们做出的每个决定,都会决定人生的走向,可能在不经意间一个选择,碰到的一个人,做对的一道题目,逃的一节课,打开的一个游戏,都在影响着我们的一生,但那时候的我们并没有意识到,而未来数十年后的某一天,当你猛然间回头,才命运在你生命中每个瞬间都做下了记号。
一次不经意间的选择,改变了Java程序执行的路径,也可能改变了我们的路径。今天就先聊到这里了,希望看完这篇文章,你能学会Java的分支结构。我们下次再见!
相关文章:

Java分支结构:一次不经意的选择,改变了我的一生。
👑专栏内容:Java⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录 一、顺序结构二、分支结构1、if语句2、switch语句 好久不见!命运之轮常常在不经意间转动,有时一个看似微…...

Unity中Shader需要了解的点与向量
文章目录 前言一、点和向量的区别二、向量加法减法1、向量加法2、向量减法(可以把向量减法转化为向量加法) 三、向量的模四、标量1、向量与标量的乘法 前言 Unity中Shader了解使用的…...
Java初始化大量数据到Neo4j中(一)
背景:我们项目第一次部署图数据库,要求我们把现有的业务数据以及关系上线第一时间初始化到Neo4j中。开发环境数据量已经百万级别。生成环境数据量更多。 我刚开始开发的时候,由于对Neo4j的了解并没有很多,第一想到的是用代码通用组…...

Excel·VBA日期时间转换提取正则表达式函数
标准日期转换 Function 标准日期(ByVal str$) As DateDim pat$, result$arr Array("(\d{4}).*?(\d{1,2}).*?(\d{1,2})", "(\d{4}).*?(\d{1}).*?(\d{1,2})")If Len(str) < 8 Then pat arr(1) Else pat arr(0)With CreateObject("vbscript.r…...

Django中的缓存
Django中的缓存 缓存的定义 定义: 缓存是-类可以更快的读取数据的介质统称,也指其它可以加快数据读取的存储方式。一般用来存储临时数据,常用介质的是读取速度很快的内存 意义:视图渲染有一定成本,数据库的频繁查询过高;所以对于低频变动的页…...
Python 编程基础 | 第二章-基础语法 | 2.4、while 语句
一、while 语句 1、循环语句 Python 编程中 while 语句用于循环执行程序,其基本形式为: while 判断条件(condition):执行语句(statements)……例如: count 0 while (count < 9):print(count)count 1while 语句时还有另外两个…...

Qt Charts简介
文章目录 一.图标类型Charts分类1.折线图和样条曲线图2.面积图和散点图3.条形图4.饼图5.误差棒图6.烛台图7.极坐标图 二.坐标轴Axes类型分类三.图例四.图表的互动五.图表样式主题 一.图标类型Charts分类 图表是通过使用系列类的实例并将其添加到QChart或ChartView实例来创建的…...
MinGW、GCC、GNU和MSVC是什么?有什么区别?
在C和C开发中,常常会遇到MinGW、GCC、GNU和MSVC这些术语。本教程将向您解释它们的含义以及它们之间的区别,帮助您更好地理解这些常见的编译工具和开发环境。 MinGW(Minimalist GNU for Windows): MinGW是一个开源的软件…...
引入easyExcel后,导致springboot项目无法开启tomcat
报错信息: Caused by: java.lang.annotation.IncompleteAnnotationException: org.terracotta.statistics.Statistic missing element type at sun.reflect.annotation.AnnotationInvocationHandler.invoke(AnnotationInvocationHandler.java:81) at com.sun.proxy…...

Doris数据库FE——启动流程源码详细解析
Doris中FE主要负责接收和返回客户端请求、元数据以及集群管理、查询计划生成等工作。代码路径:doris/fe/fe-core/src/main/java/org/apache/doris/DorisFE.java 环境检查 在启动FE的时候,主要做环境检查。检查一些启动时必要的环境变量以及初始化配置…...

服务断路器_Resilience4j线程池隔离实现
线程池隔离配置修改YML文件 resilience4j:thread-pool-bulkhead: instances:backendA:# 最大线程池大小maxThreadPoolSize: 4# 核心线程池大小coreThreadPoolSize: 2# 队列容量queueCapacity: 2编写controller /*** 测试线程池服务隔离* return*/Bulkhead(name "backe…...
原神启动原神启动原神启动原神启动
测试游戏抽卡场景是确保玩家可以正常抽取虚拟物品或角色的重要部分。以下是一些可能的游戏抽卡场景的测试用例示例: 1.正常抽卡流程: 2.测试用户是否能够成功进行一次或多次抽卡操作。 3.确保每次抽卡后,用户收到相应的物品或角色。 4.抽卡…...
Glide - Android的图像加载和缓存库,专注于平滑滚动
官网 GitHub - bumptech/glide: An image loading and caching library for Android focused on smooth scrolling 项目介绍 An image loading and caching library for Android focused on smooth scrolling Glide is a fast and efficient open source media management a…...

如何使用 API 接口获取商品数据,从申请 API 接口、使用 API 接口到实际应用,一一讲解
在当今的数字化时代,应用程序接口(API)已经成为数据获取的重要通道。API 接口使得不同的应用程序能够方便地进行数据交换,从而促进了信息的广泛传播和利用。在众多的数据源中,商品数据是一个非常重要的领域,…...

苹果 CMS 原生 Java 白菜影视 App 源码【带打包教程】
苹果 CMS 原生 Java 白菜影视 App 源码是一款功能强大的影视应用程序,支持画中画、投屏、点播、播放前广告和支持普通解析等多种功能。与萝卜 App 源码相比,该套源码更加稳定,且拥有画中画投屏和自定义广告等功能,提高了安全性。 …...

Flutter开发之Package与Plugin
前言 在flutter中有包和插件两个概念,插件 (plugin) 是 package 的一种,全称是 plugin package,我们简称为 plugin,中文叫插件。包(Package)主要指对flutter相关功能的封装,类似于Android中的插件和iOS中的三方库。而插…...

[极客大挑战 2019]RCE ME 取反绕过正则匹配 绕过disable_function设置
目录 取反 1.蚁剑插件绕过 2.baypass disable_function open_dir/disable_function putenv()/LD_PRELOAD 来绕过限制 利用条件 利用思路 有意思。。。。 <?php error_reporting(0); if(isset($_GET[code])){$code$_GET[code];if(strlen($code)>40){die("Th…...
硬盘接口随机
关于硬盘接口 1 首先,关于[物理接口、协议、通道]2 物理接口:通讯中的电,光口,“物理规格,像是公路、铁路”。通道:通讯协议中的应用层以下所有层?“县道,省道,高速&am…...

芯片测试方案之如何测试芯片EN输入阈值?
在电源管理芯片的设计中,除了常规的VIN、VOUT以及GND端口之外,还会有SW、EN、FB等芯片独有的特殊端口引脚,这些引脚或负责电源开关的输入,或负责电路的反馈电压/电流,这些引脚在芯片的工作中有着极其重要的作用&#x…...
screenOrientation的值
在 Android 应用程序中,android:screenOrientation 属性可以设置为多个不同的值,以控制活动的屏幕方向。以下是一些常用的 android:screenOrientation 的值: "unspecified":这是默认值,表示系统会根据设备的…...

铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...

【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...