流程的控制

条件选择语句

我们一般将条件选择语句分为三类:

  • 单条件
  • 双条件
  • 多条件

本篇文章将分开诉说着三类。

单条件

单条件的语法很简单:

if (条件) {// 代码}

条件这里我们需要注意下,可以向里写入两种:

  • 布尔值
  • 布尔表达式

当然,格式也是至关重要的,养成良好的代码习惯是每位IT工作人员应该的,在这里我介绍四种不同的方式:

  • if (条件1 && 条件2) 【建议使用】
  • if (条件1 || 条件2) 【建议使用】
  • if (条件1 & 条件2) 【不推荐】
  • if (条件1 | 条件2) 【不推荐】

给大家一个例子:

if (3 > 2) {};

现在我们需要实现输入分数,若是及格,控制台打印及格, 若是不及格,程序结束:

import java.util.Scanner;public class Demo05If {public static void main(String[] args) {// 1. 单条件Scanner scanner = new Scanner(System.in);System.out.println("请输入你的分数:");int i = scanner.nextInt();if(i >= 60) {System.out.println("及格!!!");}}
}
双条件

语法:

if (条件) {// 满足条件的时候运行} else {// 不满足条件的时候运行}

我们使用双条件就可以将单条件中的场景完善:

import java.util.Scanner;public class Demo05If {public static void main(String[] args) {// 1. 单条件Scanner scanner = new Scanner(System.in);System.out.println("请输入你的分数:");int i = scanner.nextInt();if(i >= 60) {System.out.println("及格!!!");} else {System.out.println("继续努力!!!");}}
}
多条件

一般我们在很多场景下需要使用多条件类型的语句,例如在期末分析学生成绩时,若学生成绩在0-59是不及格,60-79是中等,80-89是良好,90往上是优等。
语法是:

	if(条件) {} else if (条件) {} else if (条件) {} else {	}

那么我们实现这个场景:

import java.util.Scanner;public class Demo05If {public static void main(String[] args) {// 1. 单条件Scanner scanner = new Scanner(System.in);System.out.println("请输入你的分数:");int i = scanner.nextInt();if(i < 60) {System.out.println("不及格");} else if(i < 80){System.out.println("中等");} else if (i < 90) {System.out.println("良好");} else {System.out.println("优秀");}}
}
多条件嵌套

先画一个流程图:
image.png
我们介绍下多条件嵌套的语法:

 if () {if() {} else {}} else {if() {} else {}}

简单来说,就是为了满足需求,我们不得不在一个多条件的IF语句中加入多个IF语句来完成项目需求的实现,所以一般建议在使用多流程嵌套前先画一个流程图理清思路(别写到后面自己都不知道自己在写什么)。

import java.util.Random;public class Demo06 {public static void main(String[] args) {// sex  ageRandom random = new Random();// 0(女) 1(男)int sex = random.nextInt(2);int age = random.nextInt(10) + 15;//三元运算符,若sex等于0,就打印"女";不等于0,就打印"男"System.out.println("性别:" + (sex == 0 ? "女" : "男") + " 年龄:" + age);if(sex == 0) {// 女的if(age < 20) {System.out.println("no");} else {System.out.println("yes");}} else {// 男的if(age < 22) {System.out.println("no");} else {System.out.println("yes");}}}
}

Switch选择语句

语法:

switch(变量) {case:代码break;case:代码break;case:代码break;default:代码break;
}

现在有一个场景:
学习计划的制定。周一到周五(每天的内容已经确定)。

  • 周一:java环境安装
  • 周二:变量
  • 周三:数据类型
  • 周四:条件判断
  • 周五:循环
  • 其他时间: 休息

写一个程序,用户输入星期几(1~7)。然后程序输出你要做的事情。
如果我们要用条件选择语句也可实现:

import java.util.Scanner;public class Demo07 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("输入星期(1 ~7)");int week = scanner.nextInt();if(week == 1) {System.out.println("环境安装");} else if (week == 2) {System.out.println("变量");} else if (week == 3) {System.out.println("数据类型");} else if (week == 4) {System.out.println("条件判断");} else if (week == 5) {System.out.println("循环结构");} else  {System.out.println("休息");}}
}

但这里有些问题:

  • 条件不是一个范围,是一个固定的值
  • 判断的流程比较长

那么在这里就可以用到switch语句:

import java.util.Scanner;public class Demo07 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("输入星期(1 ~7)");int week = scanner.nextInt();switch (week) {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;default:System.out.println("休息");break;}}
}

我们需要注意break,一定要写上。
我们再看一个场景:输入月份然后获得对应的季节:

import java.util.Scanner;public class Demo08 {public static void main(String[] args) {// 输入一个月份,得到对应的季节Scanner scanner = new Scanner(System.in);int i = scanner.nextInt();switch (i) {case 3:case 4:case 5:System.out.println("春");break;case 6:case 7:case 8:System.out.println("夏");break;case 9:case 10:case 11:System.out.println("秋");break;case 12:case 1:case 2:System.out.println("冬");break;default:System.out.println("未知月份");break;}}
}

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

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

相关文章

Docker高级篇之Docker网络

文章目录 1. Docker Network简介2. Docker 网络模式3. Docker 网络模式之bridge4. Docker 网络模式之host5. Docker 网络模式之none6. Docker 网络模式之container7. Docker 网络模式之自定义网络模式 1. Docker Network简介 从Docker的架构和运作流程来看&#xff0c;Docker是…

计算机组成原理之指令寻址

一、顺序寻址 1、定长指令字结构 2、变长指令字结构 二、跳跃寻址 三、数据寻址 1、直接寻址 2、间接寻址 3、寄存器寻址 寄存器间接寻址 4、隐含寻址 5、立即寻址 6、偏移寻址 1、基址寻址 2、变址寻址 3、相对寻址

力扣199. 二叉树的右视图

给定一个二叉树的 根节点 root&#xff0c;想象自己站在它的右侧&#xff0c;按照从顶部到底部的顺序&#xff0c;返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4] 输出: [1,3,4]示例 2: 输入: [1,null,3] 输出: [1,3]示例 3: 输入: [] 输出: [] /*** Def…

语法分析!!!

一、实验题目 根据给定文法编写调试预测分析程序&#xff0c;对任意输入串用预测分析法进行语法分析。 二、实验目的 加深对预测分析法的理解。 三、实验内容 四、实验代码 #include <iostream> #include <stdio.h> #include <string> #include <…

隐式链接DLL

本文仅供学习交流&#xff0c;严禁用于商业用途&#xff0c;如本文涉及侵权请及时联系本人将于及时删除 【例9.5】创建的基于MFC对话框的应用程序MFCImLink2&#xff0c;隐式链接例9.2创建的MFCLibrary2.dll&#xff0c;使用其中的导出函数求正方形的面积。 (1) 使用MFC应用程…

【零基础一看就会】Python爬虫从入门到应用(下)

目录 一、urllib的学习 1.1 urllib介绍 1.2 urllib的基本方法介绍 urllib.Request &#xff08;1&#xff09;构造简单请求 &#xff08;2&#xff09;传入headers参数 &#xff08;3&#xff09;传入data参数 实现发送post请求&#xff08;示例&#xff09; response.…

野火FPGA跟练(四)——串口RS232、亚稳态

目录 简介接口与引脚通信协议亚稳态RS232接收模块模块框图时序波形RTL 代码易错点Testbench 代码仿真 RS232发送模块模块框图时序波形RTL 代码Testbench 代码仿真 简介 UART&#xff1a;Universal Asynchronous Receiver/Transmitter&#xff0c;异步串行通信接口。发送数据时…

微服务开发与实战Day04

一、网关路由 网关&#xff1a;就是网络的关口&#xff0c;负责请求的路由、转发、身份校验。 在SpringCloud中网关的实现包括两种&#xff1a; 1. 快速入门 Spring Cloud Gateway 步骤&#xff1a; ①新建hm-gateway模块 ②引入依赖pom.xml(hm-gateway) <?xml version…

解锁俄罗斯市场:如何选择优质的俄罗斯云服务器

在当前云计算市场上&#xff0c;很多大型的云厂商并没有俄罗斯服务器的云节点&#xff0c;这给许多企业在拓展海外业务时带来了一定的困扰。然而&#xff0c;俄罗斯作为一个经济发展迅速的国家&#xff0c;其市场潜力不可忽视。因此&#xff0c;选择一台优质的俄罗斯云服务器成…

【MySQL】(基础篇三) —— 创建数据库和表

管理数据库和表 管理数据库 创建数据库 在MySQL中&#xff0c;创建数据库的SQL命令相对简单&#xff0c;基本语法如下&#xff1a; CREATE DATABASE 数据库名;如果你想避免在尝试创建已经存在的数据库时出现错误&#xff0c;可以添加 IF NOT EXISTS 子句&#xff0c;这样如…

数据结构(C):二叉树前中后序和层序详解及代码实现及深度刨析

目录 &#x1f31e;0.前言 &#x1f688;1.二叉树链式结构的代码是实现 &#x1f688;2.二叉树的遍历及代码实现和深度刨析代码 &#x1f69d;2.1前序遍历 ✈️2.1.1前序遍历的理解 ✈️2.1.2前序代码的实现 ✈️2.1.3前序代码的深度解剖 &#x1f69d;2.2中序遍历 ✈…

计算机网络:数据链路层 - 扩展的以太网

计算机网络&#xff1a;数据链路层 - 扩展的以太网 集线器交换机自学习算法单点故障 集线器 这是以前常见的总线型以太网&#xff0c;他最初使用粗铜轴电缆作为传输媒体&#xff0c;后来演进到使用价格相对便宜的细铜轴电缆。 后来&#xff0c;以太网发展出来了一种使用大规模…

AI菜鸟向前飞 — LangChain系列之十七 - 剖析AgentExecutor

AgentExecutor 顾名思义&#xff0c;Agent执行器&#xff0c;本篇先简单看看LangChain是如何实现的。 先回顾 AI菜鸟向前飞 — LangChain系列之十四 - Agent系列&#xff1a;从现象看机制&#xff08;上篇&#xff09; AI菜鸟向前飞 — LangChain系列之十五 - Agent系列&#…

Springboot使用webupload大文件分片上传(包含前后端源码)

Springboot使用webupload大文件分片上传&#xff08;包含源码&#xff09; 1. 实现效果1.1 分片上传效果图1.2 分片上传技术介绍 2. 分片上传前端实现2.1 什么是WebUploader&#xff1f;功能特点接口说明事件APIHook 机制 2.2 前端代码实现2.2.1&#xff08;不推荐&#xff09;…

计算机组成原理之计算机系统层次结构

目录 计算机系统层次结构 复习提示 1.计算机系统的组成 2.计算机硬件 2.1冯诺依曼机基本思想 2.1.1冯诺依曼计算机的特点 2.2计算机的功能部件 2.2.1MAR 和 MDR 位数的概念和计算 3.计算机软件 3.1系统软件和应用软件 3.2三个级别的语言 3.2.1三种机器语言的特点 3…

★pwn 24.04环境搭建保姆级教程★

★pwn 24.04环境搭建保姆级教程★ &#x1f338;前言&#x1f33a;Ubuntu 24.04虚拟机&#x1f337;VM&#x1f337;Ubuntu 24.04镜像 &#x1f33a;工具&#x1f337;可能出现的git clone错误&#x1f337;复制粘贴问题&#x1f337;攻击&#x1f337;编题 &#x1f33a;美化&…

【AI大模型】Transformers大模型库(五):AutoModel、Model Head及查看模型结构

目录​​​​​​​ 一、引言 二、自动模型类&#xff08;AutoModel&#xff09; 2.1 概述 2.2 Model Head&#xff08;模型头&#xff09; 2.3 代码示例 三、总结 一、引言 这里的Transformers指的是huggingface开发的大模型库&#xff0c;为huggingface上数以万计的预…

使用 Keras 的 Stable Diffusion 实现高性能文生图

前言 在本文中&#xff0c;我们将使用基于 KerasCV 实现的 [Stable Diffusion] 模型进行图像生成&#xff0c;这是由 stable.ai 开发的文本生成图像的多模态模型。 Stable Diffusion 是一种功能强大的开源的文本到图像生成模型。虽然市场上存在多种开源实现可以让用户根据文本…

【会议征稿,IEEE出版】第三届能源与电力系统国际学术会议 (ICEEPS 2024,7月14-16)

如今&#xff0c;全球能源行业正面临着前所未有的挑战。一方面&#xff0c;加快向清洁、可再生能源转型是遏制能源环境污染问题的最佳途径之一&#xff1b;另一方面&#xff0c;电力系统中新能源发电、人工智能技术、电力电子装备等被广泛应用和期待&#xff0c;以提高能源可持…

transformer - 注意力机制

Transformer 的注意力机制 Transformer 是一种用于自然语言处理任务的模型架构&#xff0c;依赖于注意力机制来实现高效的序列建模。注意力机制允许模型在处理一个位置的表示时&#xff0c;考虑输入序列中所有其他位置的信息&#xff0c;而不仅仅是前面的几个位置。这种机制能…