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

学习Java的第四天

目录

一、if选择结构

1、基本if选择结构

语法结构:

流程图:

 示例:

2、if-else 选择结构

语法结构:

流程图:

示例:

 3、多重if选择结构

语法结构:

流程图:

示例:

4、嵌套if 选择结构

语法结构:

流程图:

示例:

二、switch选择结构

语法结构:

流程图:

案例:


Java中常见的选择结构:ifswitch

一、if选择结构

定义:选择结构是根据条件判断之后再做处理的一种语法结构。

  • 基本if选择结构:可以处理单一或组合条件的情况。
  • if-else选择结构:可以处理简单的条件分支情况
  • 多重if选择结构:可以处理复杂的条件分支情况。多重if选择结构在解决需要判断的条件是连续的区间时有很大的优势。
  • 嵌套if选择结构:这种结构一般用于复杂的流程控制中。

1、基本if选择结构

if语句对条件表达式进行一次测试,若测试为真,则执行下面的语句,否则跳过该语句。

语法结构:

if(表达式){
   //表达式值为true时,要执行的处理代码
 }

流程图:

 

 示例:
public static void main(String[] args) {
System.out.println("开始");
// 定义两个变量
int a = 10;
int b = 20;if (a == b) {
System.out.println("a等于b");
}int c = 10;
if (a == c) {
System.out.println("a等于c");
}
System.out.println("结束");
}

2、if-else 选择结构

当条件表达式为真时,执行语句块1,否则,执行语句块2,也就是else部分。

语法结构:

 if(表达式){
   //表达式值为true时,要执行的处理代码
 }else{
   //表达式值为false时,要执行的处理代码
 }

流程图:

示例:
public static void main(String[] args) {
System.out.println("开始");
// 判断给定的数据是奇数还是偶数
// 定义变量
int a = 100;
// 给a重新赋值
a = 99;if (a % 2 == 0) {
System.out.println("a是偶数");
} else {
System.out.println("a是奇数");
}System.out.println("结束");
}

 3、多重if选择结构

当条件表达式N为真时,执行语句块N,当所有条件表达式都为假时,执行else部分。

语法结构:

if(表达式1){
   //表达式1值为true时,要执行的处理代码1
 }else if(表达式2){
   //表达式2值为false时,要执行的处理代码2
 }
 …
 else{
   //当所有表达式值都为false时,要执行的处理代码
 }

流程图:

示例:
public static void main(String[] args) {System.out.println("开始");//  定义两个变量int a = 10;int b = 20;// 判断a==b如果等于就输出,不等于就执行else if中的判断if (a == b) {System.out.println("a等于b");} else if (a > b) {System.out.println("a不等于b");} else {System.out.println("都不行");}System.out.println("结束");}

4、嵌套if 选择结构

if语句中可以包含if语句,从而形成if语句的嵌套。当条件为true则继续执行语句n,如果语句n里面还有if则继续条件判断

语法结构:

if(表达式1){ 

        //表达式2值为false时,要执行的处理代码2

        if(表达式1){
           //表达式1值为true时,要执行的处理代码1
         }else if(表达式2){
         }
         //表达式1值为true时,要执行的处理代码1
 }else if(表达式2){
   //表达式2值为false时,要执行的处理代码2
 }

流程图:

示例:
//举例:学校运动会,将短跑成绩10s内的同学分成男女两组进行决赛
if(time<10){Scanner input=new Scanner(System.in);String sex= input.next();if(sex.equals("男")){System.out.println("恭喜进入男子组决赛");}else{System.out.println("恭喜进入女子组决赛");}
}else{System.out.println("淘汰");
}

注意:
(1)else子句不能单独作为语句使用,一个else必须有与之配对的if使用,并且总是与离它最近的if语句配对使用
(2)花括号中的语句可以是一个语句序列也可以是一条语句
(3)多分支if-else-if语句可以没有最后一个else语句,如果没有任何一个分支的boolean表达式为真,则不执行任何一个语句段

二、switch选择结构

switch后面跟变量,或者表达式,程序运行时会往下与case的值进行比较,当与case值相等时 执行该case后面的代码块,然后执行break,退出当前switch判断,如果与第一个case不相等,则不会执行其代码块并继续往下进行比较,执行,直到遇到break才会跳出当前判断。

所以switch结构中,break不可缺少!

语法结构:

switch(表达式){
    case 值1:

        //表达式值与值1相等时,要执行的代码;
        break;
    case 值2:

        //表达式值与值2相等时,要执行的代码;
        break;
    case 值3:

        //表达式值与值3相等时,要执行的代码;
        break;

    case 值n:

        //表达式值与值n相等时,要执行的代码;

        break;
    default:

        //表达式值与所有case值不相等时,要执行的默认语句;
        break;
}

流程图:

案例:
public static void main(String[] args) {//定义一个变量int a=5;switch (a) {//判断a是否等于1case 1:System.out.println("星期一");break;default://要执行的默认语句System.out.println("不知道是星期几");break;}}

注意:

(1)表达式expression的值只能是byte,char,int 和 short类型
(2)case语句中的value值必须是常量,每一个case语句中的value值必须是不同的
(3)default语句可以没有也可以有。当表达式expression的值与所有case语句中的value值都不匹配时,执行default语句,如果没有default语句则跳过switch语句往后执行
(4)在执行完case子句的语句序列后程序不会自动跳出switch语句块,break语句用来执行完一个case语句后跳出switch语句
(5)若case语句后的statement语句段中包含多条语句可以不加花括

相关文章:

学习Java的第四天

目录 一、if选择结构 1、基本if选择结构 语法结构&#xff1a; 流程图&#xff1a; 示例&#xff1a; 2、if-else 选择结构 语法结构&#xff1a; 流程图&#xff1a; 示例&#xff1a; 3、多重if选择结构 语法结构&#xff1a; 流程图&#xff1a; 示例&#xff1a…...

【Javaweb】【瑞吉外卖】登录功能plus--拦截器filterinterceptors实现

上手第二天&#xff0c;做到登录拦截器部分 需求&#xff1a;完成目标是&#xff0c;只有在登录的情况下才想让其访问后端&#xff0c;没有登录禁止访问&#xff0c;并且让其跳转。 这里有一个比较好的思想是&#xff1a;后端程序要主要需要考虑的是拦截接口&#xff0c;不能让…...

关于 Runes 协议及「公开铭刻」发行机制的拓展讨论

撰文&#xff1a;MiX 编辑&#xff1a;Faust&#xff0c;极客 web3 2024 年 3 月 2 日&#xff0c;Runes 生态基础设施项目 Rune alpha 的创始人&#xff0c;在 Github 的公开议题中&#xff0c;与 Runes 协议创始人 Casey 展开了讨论&#xff0c;双方对如何拓展 Runes 协议的…...

chkdsk修复会造成文件丢失吗?chkdsk数据丢失还能恢复吗

在Windows操作系统中&#xff0c;CHKDSK是一个强大的磁盘检查工具&#xff0c;它可以帮助我们诊断并修复硬盘的各种错误。然而&#xff0c;许多用户在运行CHKDSK之前都会担心一个问题&#xff1a;CHKDSK修复会造成文件丢失吗&#xff1f;如果不幸发生了数据丢失&#xff0c;CHK…...

Hypermesh2019快捷键大全

1、F系列 F* | ShiftF* F1 | 打开帮助文件 | color F2 | delete | temp nodes F3 | replace | edges F4 | distance | tran…...

CSS布局——Flexbox基础使用

基础概念 Flexbox布局的概念 Flexbox布局是一种布局的模式&#xff0c;用来在一个维度上为项目设置布局 容器 在HTML中大多数元素例如div、ul、main块元素&#xff0c;span、em、i行内元素都可以作为Flex容器&#xff0c;它的作用是开启一个Flex布局模式&#xff0c;你只需…...

Kubernetes(K8s):容器化应用的航空母舰

一、Kubernetes简介 Kubernetes&#xff08;K8s&#xff09;是一个开源的容器编排系统&#xff0c;它的出现就像是为容器化应用提供了一艘强大的航空母舰。在这艘母舰上&#xff0c;你的应用容器就像是一架架战斗机&#xff0c;Kubernetes负责指挥它们起飞、飞行、降落&#x…...

Java配置49-nginx 反向代理 sftp 服务器

1. 背景 后端服务需要通过部署在跳板机上的 nginx 访问一个外网的 SFTP 服务器。 2. 方法 nginx从 1.9.0 开始&#xff0c;新增加了一个stream模块&#xff0c;用来实现四层协议的转发、代理或者负载均衡等。 首先检查 nginx 版本信息及是否安装了 stream 模块。 进入 ngi…...

Qt添加VTK并绘制图形

文章目录 准备环境使用VS创建Qt Widget项目配置VTK依赖调试C/C链接器 添加vtk窗口测试代码 参考链接&#xff1a; VS2017配置QT环境(详细版)_vs2017 qt-CSDN博客 QT5VTK9.1最新配置方法_qt vtk-CSDN博客 VTK笔记-Qt5.12.11编译VTK9.0.3-QVTKOpenGLNativeWidget-CSDN博客 准…...

VsCode搭建Spring Boot项目环境

VsCode搭建Spring Boot项目环境 1、前提条件&#xff1a;配置Java环境 下载安装JDK配置环境变量 2、VsCode配置SpringBoot环境 安装扩展 配置Maven 找到Maven配置文件&#xff0c;进行打开settings.json&#xff0c;添加如下代码&#xff1a; "workbench.iconThem…...

(黑马出品_05)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式

&#xff08;黑马出品_05&#xff09;SpringCloudRabbitMQDockerRedis搜索分布式 微服务技术分布式搜索 今日目标1.初识elasticsearch1.1.了解ES1.1.1.elasticsearch的作用1.1.2.ELK技术栈1.1.3.elasticsearch和lucene1.1.4.为什么不是其他搜索技…...

window mysql 安装出现的问题

1.安装到最后时&#xff0c;报错&#xff1a;authentication_string doesnt have a default value 解决办法&#xff1a; 1.不要关掉该页面&#xff0c;点击skip。 然后单击 back 回退到如下界面 2.去掉 Enable Strict Mode。 不要勾选 2. 最后一步&#xff1a;Start Servic…...

【3GPP】【核心网】【5G】5G核心网协议解析(二)(超详细)

5G UE 附着过程 UE AMF ----------------- 注册请求(Registration Request) ----------------------> <--------------- 鉴权请求(Authentication Request) ------…...

物联网带来的六大运营挑战

物联网现在被广泛认为是一种变革力量。根据Juniper Research的调查&#xff0c;到2020年底&#xff0c;将有385亿台设备连接到互联网&#xff0c;自2015年以来增长了285&#xff05;。 但是随着更多的设备互连&#xff0c;故障的数量也会增加。例如&#xff0c;根据Juniper的数…...

【ETCD】简介安装常用操作---图文并茂详细讲解

目录 一 简介 1.1 etcd是什么 1.2. 特点 1.3. 使用场景 1.4 关键字 1.5 工作原理 二 安装 2.1 etcd安装前介绍 2.2 安装 2.3 启动 2.4 创建一个etcd服务 三 常用操作 一 简介 1.1 etcd是什么 etcd是CoreOS团队于2013年6月发起的开源项目&#xff0c;它的目标是构建…...

第四篇【传奇开心果系列】Python的自动化办公库技术点案例示例:深度解读Pandas生物信息学领域应用

传奇开心果博文系列 系列博文目录Python的自动化办公库技术点案例示例系列 博文目录前言一、Pandas生物学数据操作应用介绍二、数据加载与清洗示例代码三、数据分析与统计示例代码四、数据可视化示例代码五、基因组数据分析示例代码六、蛋白质数据分析示例代码七、生物医学图像…...

Elasticsearch:机器学习与人工智能 - 理解差异

作者&#xff1a;来自 Elastic Aditya Tripathi, Jessica Taylor 长期以来&#xff0c;人工智能几乎完全是科幻小说作家的玩物&#xff0c;人类将技术推得太远&#xff0c;以至于它变得活跃起来 —— 正如好莱坞让我们相信的那样 —— 开始造成严重破坏。 令人愉快的东西&#…...

智引未来:2024年科技革新引领工业界变革与机遇

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…...

自动化运维工具----Ansible playbook详解

一.Ansible playbook简介 1.playbook是ansible用于配置&#xff0c;部署&#xff0c;和管理被节点的剧本 2.通过playbook的详细描述&#xff0c;执行其中的一些列tasks&#xff0c;可以让远端的主机达到预期的状态。playbook就像ansible控制器给被控节点列出的一系列to-do-lis…...

【element-ui】el-table表格高亮选中

highlight-current-row 是否要高亮当前行 <el-tableref"singleTable"highlight-current-rowcurrent-change"handleCurrentChange"></el-table>修改高亮行的颜色 .current-row {background-color: pink; }由current-change事件来管理选中时触发…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室&#xff08;Algorithms, Machines, and People Lab&#xff09;开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目&#xff0c;8个月后成为Apache顶级项目&#xff0c;速度之快足见过人之处&…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一&#xff0c;概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本&#xff1a;2014.07&#xff1b; Kernel版本&#xff1a;Linux-3.10&#xff1b; 二&#xff0c;Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01)&#xff0c;并让boo…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI&#xff08;https://spring.io/projects/spring-ai&#xff09;作为Spring生态中的AI集成框架&#xff0c;其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似&#xff0c;但特别为多语…...