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的分支结构。我们下次再见!

在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/89525.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

静态通讯录

今天我们分享一下静态通讯录详细解释和代码&#xff0c;之前分享过的只是通讯录的代码&#xff0c;但是我们没有进行讲解和解释&#xff0c;今天我们一边分享它的代码一边解释原因&#xff0c;让大家可以手撕通讯录。现在开始我们的学习吧。 首先我们应该要有三个文件&#xf…

MYSQL8解压版 windows 主从部署步骤及配置(包含配置文件,教程文件,免积分下载)

MYSQL8解压版 windows 主从部署步骤及配置 一.安装MSYQL 这里只讲大概,详细步骤、my.ini文件、安装包等会在页尾文件中(正常情况按首个mysql安装,只是名字有区别) 1.主库my.ini配置 [mysqld] #典型的值是5-6GB(8GB内存)&#xff0c;8-11GB(16GB内存), 20-25GB(32GB内存)&…

Ctfshow web入门 XSS篇 web316-web333 详细题解 全

CTFshow XSS web316 是反射型 XSS 法一&#xff1a; 利用现成平台 法二&#xff1a; 自己搭服务器 先在服务器上面放一个接受Cookie的文件。 文件内容&#xff1a; <?php$cookie $_GET[cookie];$time date(Y-m-d h:i:s, time());$log fopen("cookie.txt"…

路由器配置静态和默认路由实现VLAN之间的通信

目录 华为路由器静态路由和默认路由的写法 静态路由和默认路由的区别 案例 华为路由器静态路由和默认路由的写法 配置静态路由&#xff1a; [Huawei] ip route-static <目标网络> <子网掩码> <下一跳地址> 实例&#xff1a;将目标网络192.168.10.0/24的流…

一站式吃鸡利器,提升游戏战斗力,助您稳坐鸡王宝座!

各位吃鸡玩家们&#xff0c;听说过绝地求生作图工具吗&#xff1f;想知道如何提高游戏战斗力、分享顶级作战干货、查询装备皮肤库存&#xff1f;还在为游戏账号安全而担心吗&#xff1f;别急&#xff0c;今天就为您介绍一款一站式吃鸡利器&#xff0c;满足您的所有需求&#xf…

如何快速搭建一个react项目?如何使用react脚手架快速搭建项目?

如何使用react脚手架快速搭建项目&#xff1f; 一、前提 电脑已经安装了node和npm环境。 react文档中要求Node > 8.10 和 npm > 5.6&#xff0c;查看版本&#xff1a;node -v&#xff1b;npm -v&#xff1b; 二、步骤 1、在合适的文件夹中打开命令行窗口cmd 2、全局安…

SkyWalking搭配springboot应用(三)

title: “SkyWalking搭配springboot应用(三)” createTime: 2021-07-13T16:27:5708:00 updateTime: 2021-07-13T16:27:5708:00 slug: “SkyWalking搭配springboot应用(三)” draft: false author: “ggball” tags: [“skywalking”] categories: [“java”] description: “sk…

[论文笔记]Prefix Tuning

引言 今天带来微调LLM的第二篇论文笔记Prefix-Tuning。 作者提出了用于自然语言生成任务的prefix-tuning(前缀微调)的方法,固定语言模型的参数而优化一些连续的任务相关的向量,称为prefix。受到了语言模型提示词的启发,允许后续的token序列注意到这些prefix,当成虚拟toke…

美篇作文网教学资源源码-自带作文数据

非常漂亮的UI设计和页面排版&#xff01; 自适应手机pc端 页面内容均支持自定义 可以用来做网站矩阵&#xff0c;或者增强你其他网站板块&#xff0c;或者单独运营都可以。 可以通过广告方式变现&#xff0c;或者引流等等 友好的seo&#xff0c;更容易被浏览器收录 关注青狐…

Android导航抽屉

本文所有代码均位于https://github.com/MADMAX110/CatChat 之前使用过标签页布局可以让用户在应用中轻松地导航。 当只有为数不多地几个类别屏幕&#xff0c;而且它们都在应用层次结构地同一级上&#xff0c;标签页布局就很适用。 而抽屉导航可以实现更多选择&#xff0c;这是一…

MySQL基础-多表查询

目录 简单概述 1.多表之间的关系 1.1 一对多/多对一 1.2 多对多 1.3 一对一 2. 多表查询-内连接 2.1 隐式内连接 2.2 显式内连接 2.3 内连接小结 3.多表查询-外连接 3.1 左外连接 3.2 右外连接 4.多表查询-自连接 4.1 应用 5.多表查询-联合查询 6.子查询 6.1 标量子…

leetcode 10. 正则表达式匹配

2023.9.20 感觉是目前做过dp题里最难的一题了... 本题首要的就是需要理解题意&#xff0c;翻了评论区我才发现之前一直理解的题意是错的。 我原来理解的 “ *匹配0次” 是指&#xff1a;*直接消失&#xff0c;不会影响到前面的字符。 但是*和前一个字符其实是连体的&#xff0…

现代 GPU 容易受到新 GPU.zip 侧通道攻击

来自四所美国大学的研究人员开发了一种新的 GPU 侧通道攻击&#xff0c;该攻击利用数据压缩在访问网页时泄露现代显卡中的敏感视觉数据。 研究人员通过 Chrome 浏览器执行跨源 SVG 过滤器像素窃取攻击&#xff0c;证明了这种“ GPU.zip ”攻击的有效性。 研究人员于 2023 年 …

mysql面试题2:说一说MySQL的架构设计?一条 MySQL 语句执行的步骤?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:说一说MySQL的架构设计? MySQL的架构设计主要包括以下几个组件: 连接器(Connector):负责与客户端建立连接,并进行身份验证和授权。 查询缓存…

黑马JVM总结(二十五)

&#xff08;1&#xff09;字节码指令-cinit 构造方法可以分为两类&#xff0c;一类是cinit 一类init cinit是整个类的构造方法 putstatic&#xff1a;进行static变量的赋值&#xff0c;是到常量池里找到名字一个叫做i的变量 &#xff08;2&#xff09;字节码指令-init in…

自适应阈值分割-OTSU

OTSU 在前面固定阈值中选取了一个阈值为127进行阈值分割&#xff0c;那如何知道选的这个阈值效果好不好呢&#xff1f;答案是&#xff1a;不断尝试&#xff0c;所以这种方法在很多文献中都被称为经验阈值。 Otsu阈值法就提供了一种自动高效的二值化方法。Otsu算法也称最大类间…

python+vue电子资源管理系统

能实现不出家门就可以通过网络进行系统管理&#xff0c;交易等&#xff0c;而且过程简单、快捷。同样的&#xff0c;在人们的工作生活中&#xff0c;也就需要互联网技术来方便人们的日常工作生活&#xff0c;实现工作办公的自动化处理&#xff0c;实现信息化&#xff0c;无纸化…

社区团购新零售搭伙拼团小程序源码(前后端)

社区团购新零售搭伙拼团小程序源码是一款非常实用的电商小程序&#xff0c;它包含了前后端文件&#xff0c; 可以快速地进行部署和使用。该小程序是基于微信小程序开发的&#xff0c;支持社区团购、新零售、搭伙拼团等多种功能。 该小程序具有良好的用户体验&#xff0c;包括…

数据湖在爱奇艺数据中台的应用

01 我们眼中的数据湖 作为爱奇艺的数据中台团队&#xff0c;我们的核心任务是管理和服务公司内的大量数据资产。在实施数据治理的过程中&#xff0c;我们不断吸收新的理念&#xff0c;引入尖端的工具&#xff0c;以精细化我们的数据体系管理。“数据湖”作为近年来数据领域广泛…

链表入门(单链表讲)

链表 1.链表1.1 链表概念及其结构1.2 链表的分类 2.单链表代码实现2.1 单链表的定义2.2 单链表的初始化2.3 单链表的新增结点2.4 单链表的打印2.4 单链表的插入2.4.1 头插2.4.2 尾插2.4.3 任意位置插入 2.5 单链表的删除2.5.1 头删2.5.2 尾删2.5.3 任意位置删除 2.6 单链表的查…