学习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语句段中包含多条语句可以不加花括

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

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

相关文章

探秘分布式神器RMI:原理、应用与前景分析(二)

本系列文章简介&#xff1a; 本系列文章将深入探究RMI远程调用的原理、应用及未来的发展趋势。首先&#xff0c;我们会详细介绍RMI的工作原理和基本流程&#xff0c;解析其在分布式系统中的核心技术。随后&#xff0c;我们将探讨RMI在各个领域的应用&#xff0c;包括分布式计算…

【Docker】若依ruoyi项目部署

一 搭建局域网 1 # 搭建net-ry局域网&#xff0c;用于部署若依项目docker network create net-ry --subnet172.68.0.0/16 --gateway172.68.0.1 # 注意1&#xff1a;关闭宿主机的防火墙&#xff0c;否者容器内部的MySQL、redis等服务&#xff0c;外部访问不了&#xff1b;开放…

【REST2SQL】12 REST2SQL增加Token生成和验证

【REST2SQL】01RDB关系型数据库REST初设计 【REST2SQL】02 GO连接Oracle数据库 【REST2SQL】03 GO读取JSON文件 【REST2SQL】04 REST2SQL第一版Oracle版实现 【REST2SQL】05 GO 操作 达梦 数据库 【REST2SQL】06 GO 跨包接口重构代码 【REST2SQL】07 GO 操作 Mysql 数据库 【RE…

如何使用 window 的.bat 完全拷贝一个文件到另外一个文件全部替换

比如你的文件夹是 A 你想拷贝 A的文件到 B并且全部替换 那么你可以这样子做 1.在 window 桌面新建一个文件夹,在这文件里面新建两个文件,文件 A和文件 B 2.然后新建后缀命名为 copy.bat 回车,然后选择编辑这个 copy.bat 你可以使用文本编辑即可; 3.然后你在这个 copy.bat 编…

Docker_搭建跨服务器网络通讯(swarm 集群)

本文目录 一、如何搭建docker的跨服务器网络1、在主服务器上初始化docker swarm 集群2、其他服务器节点加入到创建好的集群中3、检验集群是否搭建成功4、创建overlay类型的docker网络 二、如何部署服务1、docker部署2、docker-compose部署 一、如何搭建docker的跨服务器网络 1…

《小学科学》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答&#xff1a; 问&#xff1a;《小学科学》期刊是正规期刊吗&#xff1f; 答&#xff1a;是正规期刊&#xff0c;下面会有具体介绍 问&#xff1a;《小学科学》期刊是什么级别的&#xff1f; 答&#xff1a;省级&#xff1b;主管单位&#xff1a;长春出版传媒集团有…

unicloud 创建云函数并使用云函数

云函数是什么 云函数即在云端&#xff08;服务器端&#xff09;运行的函数。 从 HBuilderX 3.4起&#xff0c;新增了云函数的扩展版&#xff0c;云对象。 开发者无需购买、搭建服务器&#xff0c;只需编写代码并部署到云端即可在客户端&#xff08;App/Web/小程序等&#xf…

【Linux】第一个小程序--进度条

这篇博客要综合利用以前的知识&#xff0c;来实现一个进度条程序~ 目录 换行&回车 缓冲区 实现简单的倒计时 实现进度条 version1 version2 在开始写这个小程序之前&#xff0c;我们先学习一些预备知识&#xff1a; 换行&回车 缓冲区 在我们运行这个程序时&…

git workflow

分支策略 按分支属性分类 主干分支&#xff1a;master特性分支&#xff1a;feature-[序号]、fix-[序号]、hotfix-[序号]开发分支&#xff1a;dev-[序号]-[开发者]发布分支&#xff1a;release-[版本号]部署分支&#xff1a;release&#xff08;正式&#xff09;、test&#xf…

如何阅读“计算机界三大神书”之一 ——《计算机程序的构造和解释》SICP

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01; &#x1f40b; 希望大家多多支…

如何使用 @font-face 和 font-display 在 CSS 中定义自定义字体

介绍 font-face 是一个 CSS at-rule&#xff0c;用于定义自定义字体。通过 font-face&#xff0c;您可以提供一个路径到与您的 CSS 文件托管在同一服务器上的字体文件。这个规则已经存在了相当长的时间&#xff0c;但是有一个更新的属性 font-display&#xff0c;它带来了新的…

STM32CubeMX学习笔记17--- FSMC

1.1 TFTLCD简介 TFT-LCD&#xff08;thin film transistor-liquid crystal display&#xff09;即薄膜晶体管液晶显示器。液晶显示屏的每一个像素上都设置有一个薄膜晶体管&#xff08;TFT&#xff09;&#xff0c;每个像素都可以通过点脉冲直接控制&#xff0c;因而每个节点都…

论文阅读:Scalable Diffusion Models with Transformers

Scalable Diffusion Models with Transformers 论文链接 介绍 传统的扩散模型基于一个U-Net骨架&#xff0c;这篇文章提出了一种新的扩散模型结构&#xff0c;将U-Net替换为一个transformer&#xff0c;并将这种结构称为Diffusion Transformers (DiTs)。他们还发现&#xff…

python77-Python的函数参数,个数可变参数

很多编程语言都允许定义个数可变的参数,这样可以在调用函数时传入任意多个参数。Python当然也不例外,Python 允许在形参前面添加一个星号(*),这样就意味着该参数可接收多个参数值,多个参数值被当成元组传入。下面程序定义了一个形参个数可变的函数。 # !/usr/bin/env pyth…

数据分析 - 面经 - 联蔚数科

2024.1.9 面试 Boss直聘沟通 先简单做下自我介绍吧 你项目中设计的技术选型&#xff0c;你都有使用过是吗&#xff1f; 这个项目的团队规模介绍一下 在数据部分&#xff0c;详细讲一下主要工作&#xff0c;在数据采集&#xff0c;处理等方面 这些工具是学校教的呢&#x…

阿里云服务器使用教程_2024建站教程_10分钟网站搭建流程

使用阿里云服务器快速搭建网站教程&#xff0c;先为云服务器安装宝塔面板&#xff0c;然后在宝塔面板上新建站点&#xff0c;阿里云服务器网aliyunfuwuqi.com以搭建WordPress网站博客为例&#xff0c;来详细说下从阿里云服务器CPU内存配置选择、Web环境、域名解析到网站上线全流…

requests模块的其他方法

requests模块的其他方法 学习目标 掌握requests中cookirJar的处理方法掌握requests解决https证书错误的问题掌握requests中超时参数的使用掌握retrying模块的使用 1 requests中cookirJar的处理方法 使用request获取的resposne对象&#xff0c;具有cookies属性&#xff0c;能够…

Vscode连接远程服务器失败解决方案

一、 could not establish connection to “XXX” 尝试使用Remote-SSH插件连接远程的服务器&#xff0c;但是配置显示出错&#xff0c;端口显示试图写入的管道不存在&#xff0c;弹出窗口显示could not establish connection to “XXX” 二、检查Windows的OpenSSH 1.检索是否…

Java中注解@RequestParam 和 @ApiParam详解

一、RequestParam 和 ApiParam的常用属性 RequestParam 和 ApiParam 是在 Spring MVC 控制器方法中使用的注解&#xff0c;它们分别服务于不同的目的&#xff1a; RequestParam RequestParam 是 Spring MVC 中用来处理 HTTP 请求参数的注解&#xff0c;主要用于绑定请求中的查…

数据分析项目[开发中]

学习进度记录&#xff1a; 12.7&#xff1a; 教程链接&#xff1a;智能 BI 项目教程(一) (yuque.com) 前端&#xff1a; Ant Design Pro&#xff1a;开始使用 - Ant Design Pro​​​​​​ 然后安装依赖 yarn install 去除不需要的&#xff1a; 移除国际化 【报错】 …