当前位置: 首页 > news >正文

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的括号内只能是以下类型的表达式:

    • 基本类型:bytecharshortint,注意不能是long类型

    • 引用类型:String常量串、枚举类型


我们做出的每个决定,都会决定人生的走向,可能在不经意间一个选择,碰到的一个人,做对的一道题目,逃的一节课,打开的一个游戏,都在影响着我们的一生,但那时候的我们并没有意识到,而未来数十年后的某一天,当你猛然间回头,才命运在你生命中每个瞬间都做下了记号。

一次不经意间的选择,改变了Java程序执行的路径,也可能改变了我们的路径。今天就先聊到这里了,希望看完这篇文章,你能学会Java的分支结构。我们下次再见!

在这里插入图片描述


相关文章:

Java分支结构:一次不经意的选择,改变了我的一生。

&#x1f451;专栏内容&#xff1a;Java⛪个人主页&#xff1a;子夜的星的主页&#x1f495;座右铭&#xff1a;前路未远&#xff0c;步履不停 目录 一、顺序结构二、分支结构1、if语句2、switch语句 好久不见&#xff01;命运之轮常常在不经意间转动&#xff0c;有时一个看似微…...

Unity中Shader需要了解的点与向量

文章目录 前言一、点和向量的区别二、向量加法减法1、向量加法2、向量减法(可以把向量减法转化为向量加法) 三、向量的模四、标量![在这里插入图片描述](https://img-blog.csdnimg.cn/03df81df3cdf47989a11605d5f5e7da5.png)1、向量与标量的乘法 前言 Unity中Shader了解使用的…...

Java初始化大量数据到Neo4j中(一)

背景&#xff1a;我们项目第一次部署图数据库&#xff0c;要求我们把现有的业务数据以及关系上线第一时间初始化到Neo4j中。开发环境数据量已经百万级别。生成环境数据量更多。 我刚开始开发的时候&#xff0c;由于对Neo4j的了解并没有很多&#xff0c;第一想到的是用代码通用组…...

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中的缓存 缓存的定义 定义: 缓存是-类可以更快的读取数据的介质统称&#xff0c;也指其它可以加快数据读取的存储方式。一般用来存储临时数据&#xff0c;常用介质的是读取速度很快的内存 意义:视图渲染有一定成本&#xff0c;数据库的频繁查询过高;所以对于低频变动的页…...

Python 编程基础 | 第二章-基础语法 | 2.4、while 语句

一、while 语句 1、循环语句 Python 编程中 while 语句用于循环执行程序&#xff0c;其基本形式为&#xff1a; while 判断条件(condition)&#xff1a;执行语句(statements)……例如&#xff1a; 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开发中&#xff0c;常常会遇到MinGW、GCC、GNU和MSVC这些术语。本教程将向您解释它们的含义以及它们之间的区别&#xff0c;帮助您更好地理解这些常见的编译工具和开发环境。 MinGW&#xff08;Minimalist GNU for Windows&#xff09;&#xff1a; MinGW是一个开源的软件…...

引入easyExcel后,导致springboot项目无法开启tomcat

报错信息&#xff1a; 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主要负责接收和返回客户端请求、元数据以及集群管理、查询计划生成等工作。代码路径&#xff1a;doris/fe/fe-core/src/main/java/org/apache/doris/DorisFE.java 环境检查 在启动FE的时候&#xff0c;主要做环境检查。检查一些启动时必要的环境变量以及初始化配置…...

服务断路器_Resilience4j线程池隔离实现

线程池隔离配置修改YML文件 resilience4j:thread-pool-bulkhead: instances:backendA:# 最大线程池大小maxThreadPoolSize: 4# 核心线程池大小coreThreadPoolSize: 2# 队列容量queueCapacity: 2编写controller /*** 测试线程池服务隔离* return*/Bulkhead(name "backe…...

原神启动原神启动原神启动原神启动

测试游戏抽卡场景是确保玩家可以正常抽取虚拟物品或角色的重要部分。以下是一些可能的游戏抽卡场景的测试用例示例&#xff1a; 1.正常抽卡流程&#xff1a; 2.测试用户是否能够成功进行一次或多次抽卡操作。 3.确保每次抽卡后&#xff0c;用户收到相应的物品或角色。 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 接口到实际应用,一一讲解

在当今的数字化时代&#xff0c;应用程序接口&#xff08;API&#xff09;已经成为数据获取的重要通道。API 接口使得不同的应用程序能够方便地进行数据交换&#xff0c;从而促进了信息的广泛传播和利用。在众多的数据源中&#xff0c;商品数据是一个非常重要的领域&#xff0c…...

苹果 CMS 原生 Java 白菜影视 App 源码【带打包教程】

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

Flutter开发之Package与Plugin

前言 在flutter中有包和插件两个概念&#xff0c;插件 (plugin) 是 package 的一种&#xff0c;全称是 plugin package&#xff0c;我们简称为 plugin&#xff0c;中文叫插件。包(Package)主要指对flutter相关功能的封装&#xff0c;类似于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 首先&#xff0c;关于[物理接口、协议、通道]2 物理接口&#xff1a;通讯中的电&#xff0c;光口&#xff0c;“物理规格&#xff0c;像是公路、铁路”。通道&#xff1a;通讯协议中的应用层以下所有层&#xff1f;“县道&#xff0c;省道&#xff0c;高速&am…...

芯片测试方案之如何测试芯片EN输入阈值?

在电源管理芯片的设计中&#xff0c;除了常规的VIN、VOUT以及GND端口之外&#xff0c;还会有SW、EN、FB等芯片独有的特殊端口引脚&#xff0c;这些引脚或负责电源开关的输入&#xff0c;或负责电路的反馈电压/电流&#xff0c;这些引脚在芯片的工作中有着极其重要的作用&#x…...

screenOrientation的值

在 Android 应用程序中&#xff0c;android:screenOrientation 属性可以设置为多个不同的值&#xff0c;以控制活动的屏幕方向。以下是一些常用的 android:screenOrientation 的值&#xff1a; "unspecified"&#xff1a;这是默认值&#xff0c;表示系统会根据设备的…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天&#xff0c;再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至&#xff0c;这不仅是开发者的盛宴&#xff0c;更是全球数亿苹果用户翘首以盼的科技春晚。今年&#xff0c;苹果依旧为我们带来了全家桶式的系统更新&#xff0c;包括 iOS 26、iPadOS 26…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统&#xff1a;Ubuntu 24.04 LTS (WSL2)架构&#xff1a;x86_64 (GNU/Linux)Rust 版本&#xff1a;rustc 1.87.0 (2025-05-09)Cargo 版本&#xff1a;cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业&#xff0c;那宇树科技&#xff08;Unitree&#xff09;必须名列其榜。 最近&#xff0c;宇树科技的一项新变动消息在业界引发了不少关注和讨论&#xff0c;即&#xff1a; 宇树向其合作伙伴发布了一封公司名称变更函称&#xff0c;因…...