当前位置: 首页 > 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的分支结构。我们下次再见!

在这里插入图片描述


http://www.lryc.cn/news/177326.html

相关文章:

  • Unity中Shader需要了解的点与向量
  • Java初始化大量数据到Neo4j中(一)
  • Excel·VBA日期时间转换提取正则表达式函数
  • Django中的缓存
  • Python 编程基础 | 第二章-基础语法 | 2.4、while 语句
  • Qt Charts简介
  • MinGW、GCC、GNU和MSVC是什么?有什么区别?
  • 引入easyExcel后,导致springboot项目无法开启tomcat
  • Doris数据库FE——启动流程源码详细解析
  • 服务断路器_Resilience4j线程池隔离实现
  • 原神启动原神启动原神启动原神启动
  • Glide - Android的图像加载和缓存库,专注于平滑滚动
  • 如何使用 API 接口获取商品数据,从申请 API 接口、使用 API 接口到实际应用,一一讲解
  • 苹果 CMS 原生 Java 白菜影视 App 源码【带打包教程】
  • Flutter开发之Package与Plugin
  • [极客大挑战 2019]RCE ME 取反绕过正则匹配 绕过disable_function设置
  • 硬盘接口随机
  • 芯片测试方案之如何测试芯片EN输入阈值?
  • screenOrientation的值
  • 为什么SQL预编译可以防止SQL注入攻击
  • 基于体系结构-架构真题2022(四十一)
  • 【uniapp+vue3 】页面加载时根据不同角色设置导航栏标题
  • 不讲故事的设计模式-模板方法模式
  • 基于SpringBoot的酒店客房管理系统
  • 消息队列-RabbitMQ(二)
  • 程序通过命令行获取操作系统名称+版本+CPU名称等:Part2
  • 微软最热门的10款前端开源项目!
  • C#(CSharp)入门实践项目(简易回合制游戏)
  • GEO生信数据挖掘(五)提取临床信息构建分组,分组数据可视化(绘制层次聚类图,绘制PCA图)
  • golang时间问题汇总(用法常见问题:插入数据库时间自动+8)