Java逻辑控制

目录
一、顺序结构
二、分支结构
1、if语句
(1) 语法格式1编辑
(2)语法格式2编辑
(3)语法格式3
2、switch 语句
三、循环结构
1、while循环
2、break
3、continue
4、for 循环
5、do while 循环
四、输入输出
1、输出到控制台
2、从键盘输入
五、猜数字游戏
一、顺序结构
顺序结构比较简单,按照代码书写的顺序一行一行执行
如果调整代码的书写顺序, 则执行顺序也发生变化
二、分支结构
1、if语句
(1) 语法格式1如果布尔表达式结果为true,执行if中的语句,否则不执行
(2)语法格式2如果布尔表达式结果为true,则执行if中语句,否则执行else中语句。
(3)语法格式3
表达式1成立,执行语句1,否则表达式2成立,执行语句2,否则执行语句3
【注意事项】
代码风格
2、switch 语句
基本语法
执行流程:
1. 先计算表达式的值
2. 和case依次比较,一旦有响应的匹配就执行该项下的语句,直到遇到break时结束
3. 当表达式的值没有与所列项匹配时,执行default【注意事项】
多个case后的常量值不可以重复
switch的括号内只能是以下类型的表达式:
基本类型:byte、char、short、int,注意不能是long类型
引用类型:String常量串、枚举类型break 不要遗漏, 否则会失去 "多分支选择" 的效果
switch 不能表达复杂的条件
switch 虽然支持嵌套, 但是很丑,一般不推荐~
三、循环结构
1、while循环
基本语法格式:
循环条件为 true, 则执行循环语句; 否则结束循环.
代码示例1: 打印 1 - 10 的数字
注意事项
1. 和 if 类似, while 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句. 建议还是加上 { }
2. 和 if 类似, while 后面的 { 建议和 while 写在同一行.
3. 和 if 类似, while 后面不要多写 分号, 否则可能导致循环不能正确执行.
2、break
break 的功能是让循环提前结束.
代码示例: 找到 100 - 200 中第一个 3 的倍数
int num = 100; while (num <= 200) { if (num % 3 == 0) { System.out.println("找到了 3 的倍数, 为:" + num); break; } n um++; } // 执行结果 //找到了 3 的倍数, 为:102执行到 break 就会让循环结束
3、continue
continue 的功能是跳过这次循环, 立即进入下次循环.
代码示例: 找到 100 - 200 中所有 3 的倍数执行到 continue 语句的时候, 就会立刻进入下次循环(判定循环条件), 从而不会执行到下方的打印语句
4、for 循环
【基本语法】
表达式1: 用于初始化循环变量初始值设置,在循环最开始时执行,且只执行一次
表达式2: 循环条件,满则循环继续,否则循环结束
表达式3: 循环变量更新方式
【代码示例】
计算 1 - 100 的和【注意事项】 (和while循环类似)
1. 和 if 类似, for 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句. 建议还是加上 { }
2. 和 if 类似, for 后面的 { 建议和 while 写在同一行.
3. 和 if 类似, for 后面不要多写 分号, 否则可能导致循环不能正确执行.
4. 和while循环一样,结束单趟循环用continue,结束整个循环用break
5、do while 循环
【基本语法】
先执行循环语句, 再判定循环条件,循环条件成立则继续执行,否则循环结束。
例如:打印 1 - 10
【注意事项】
1. do while 循环最后的分号不要忘记
2. 一般 do while 很少用到, 更推荐使用 for 和 while.
四、输入输出
1、输出到控制台
基本语法
println 输出的内容自带 \n, print 不带 \n
printf 的格式化输出方式和 C 语言的 printf 是基本一致的
代码示例
格式化字符串
这个表格没必要记住, 用到的时候根据需要查一下就行了.
2、从键盘输入
使用 Scanner 读取字符串/整数/浮点数
import java.util.Scanner; // 需要导入 util 包 Scanner sc = new Scanner(System.in); System.out.println("请输入你的姓名:"); String name = sc.nextLine(); System.out.println("请输入你的年龄:"); int age = sc.nextInt(); System.out.println("请输入你的工资:"); float salary = sc.nextFloat(); System.out.println("你的信息如下:"); System.out.println("姓名: "+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary); sc.close(); // 注意, 要记得调用关闭方法 // 执行结果 请输入你的姓名: 张三 请输入你的年龄: 18 请输入你的工资: 1000 你的信息如下: 姓名: 张三 年龄:18 工资:1000.0使用 Scanner 循环读取 N 个数字,并求取其平均值
Scanner sc = new Scanner(System.in); int sum = 0; int num = 0; while (sc.hasNextInt()) { int tmp = sc.nextInt(); sum += tmp; num++; } S ystem.out.println("sum = " + sum); System.out.println("avg = " + sum / num); sc.close(); // 执行结果 10 40.0 50.5 ^Z sum = 150.5 avg = 30.1注意事项:
当循环输入多个数据的时候, 使用 ctrl + z 来结束输入 (Windows 上使用 ctrl + z, Linux / Mac 上使用 ctrl
+ d).
五、猜数字游戏
游戏规则:
系统自动生成一个随机整数(1-100), 然后由用户输入一个猜测的数字. 如果输入的数字比该随机数小, 提示 "低
了", 如果输入的数字比该随机数大, 提示 "高了" , 如果输入的数字和随机数相等, 则提示 "猜对了" .参考代码
import java.util.Random; import java.util.Scanner;; class Test { public static void main(String[] args) { Random random = new Random(); // 默认随机种子是系统时间 Scanner sc = new Scanner(System.in); int toGuess = random.nextInt(100); // System.out.println("toGuess: " + toGuess); while (true) { System.out.println("请输入要输入的数字: (1-100)"); int num = sc.nextInt(); if (num < toGuess) { System.out.println("低了"); } else if (num > toGuess) { System.out.println("高了"); } else { System.out.println("猜对了"); break; } } sc.close(); } }
感谢观看~
相关文章:
Java逻辑控制
目录 一、顺序结构 二、分支结构 1、if语句 (1) 语法格式1编辑 (2)语法格式2编辑 (3)语法格式3 2、switch 语句 三、循环结构 1、while循环 2、break 3、continue 4、for 循环 5、do whil…...
easyExcel合并单元格导出
一、导入maven依赖 (很多旧项目自定义了一套Excel导出工具,poi版本可能不兼容,一般poi新旧版本不兼容分界线在3.17,选择3.17版本不会发生代码不兼容情况) <dependency><groupId>com.alibaba</groupId&…...
SpringBoot项目--电脑商城【用户注册】
1.创建数据表 1.1 创建t_user表 CREATE TABLE t_user (uid INT AUTO_INCREMENT COMMENT 用户id,username VARCHAR(20) NOT NULL UNIQUE COMMENT 用户名,password CHAR(32) NOT NULL COMMENT 密码,salt CHAR(36) COMMENT 盐值,phone VARCHAR(20) COMMENT 电话号码,email VARCH…...
HCIP学习-IPv6
目录 前置学习内容 IPv6解决的一些IPv4的缺陷 无限的地址 层次化的地址结构 即插即用 简化报文头部 IPv4和IPv6报头比较 端到端的网络罗完整性 安全性增强 挣钱QoS特性 IPv6地址介绍 格式 首选格式 压缩格式 内嵌IPv4地址格式的IPv6地址格式 IPv6的网络前缀和接…...
golang高精度十进制数扩展包decimal用法
在Go语言中,没有内置的十进制数(decimal)类型或相关的标准库。然而,有一些第三方包可用于处理十进制数,其中比较常用的是decimal包。 decimal包提供了一个big.Float的子类型decimal.Decimal,可以用于表示和…...
STM32F4X RNG随机数发生器
STM32F4X RNG随机数发生器 随机数的作用STM32F4X 随机数发生器RNG控制寄存器RNG状态寄存器RNG数据寄存器RNG数据步骤RNG例程 随机数的作用 随机数顾名思义就是随机产生的数字,这种数字最大的特点就是其不确定性,你不知道它下一次产生的数字是什么。随机…...
5、QT中SQLite数据库的操作
一、QT中的SQLite数据库 1、添加头文件和模块 Header: #include <QSqlDatabase> qmake: QT sql//pro文件添加sql模块执行数据库操作的类: Header: #include <QSqlQuery> qmake: QT sql2、C语言中的SQLite增删减查 SQLite3的基础教程 3、SQLite的…...
git回退到某个提交
git是一个分布式版本控制软件,分布式版本库的做法使源代码的发布和交流都极为方便,因此有不少用户都在使用git。最近小编也正在学习git这款软件,发现要想熟练运用git,学会git中的一些命令是很重要的,如果我们要回滚到某…...
对可再生能源和微电网集成研究的新控制技术和保护算法进行基线和测试及静态、时域和频率分析研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
Full authentication is required to access this resource解决办法
我们在使用postman调接口时候,有的时候需要权限才可以访问,否则可能会报下面这个错误 {"success": false,"message": "Full authentication is required to access this resource","code": 401,"result&q…...
Jetty:使用上下文文件部署离线瓦片.md
说明 介绍利用jetty在任意位置如桌面的资源进行发布。比如下载的离线瓦片数据,如果放到jetty的webapps目录下,则启动时间会比较久,可以通过本文的步骤进行配置,也免去了拷贝过程的耗时。 关键字:自定义路径、Jetty、…...
Docker实战:docker compose 搭建Rocketmq
1、配置文件准备 1.1、 新建目录:/home/docker/data/rocketmq/conf mkdir /home/docker/data/rocketmq/conf1.2、 在上面目录下新建文件broker.conf文件,内容如下 brokerClusterName DefaultCluster brokerName broker-a brokerId 0 deleteWhen 0…...
STL常用容器 (C++核心基础教程之STL容器详解)String的API
在C的标准模板库(STL)中,有多种容器可供使用。以下是一些常见的容器类型: 序列容器(Sequential Containers): std::vector:动态数组,支持快速随机访问。 std::list&…...
《人生苦短,我学Python》——条件判断->(if-elif-else)多向选择 条件嵌套
今天,我们来学习多向选择!if--elif--else if 后的语句是当 if 判断条件成立时,执行的操作。elif 后的语句是当 if 判断不成立时,再判断一次,如果成立,执行的操作。else 后的语句是当以上所有判断条件都不成…...
MongoDB 数据库性能优化技巧
原文:MongoDB 数据库性能优化技巧 (techdatafuture.com) MongoDB 是一款灵活且可扩展的NoSQL数据库,为了提高其性能,我们可以采取一些优化技巧。本文将介绍一些MongoDB性能优化的关键点,包括索引的使用、查询优化、数据模型设计和…...
网络安全人才缺口超百万,如今的就业情况怎样?
网络安全人才缺口超百万,如今的就业情况怎样? 2022年9月7日,国家网络安全宣传周准时开始。本次网络安全宣传周和以前一样,主要目的都是为了普及网络安全知识,提高网络安全的防护技能,提升对电信网络诈骗的…...
「MySQL」MySQL面试题全解析:常见问题与高级技巧详解
MySQL面试题全解析:常见问题与高级技巧详解 1. 什么是数据库?2. 什么是MySQL?3. 什么是SQL?4. 什么是主键?5. 什么是外键?6. 请解释索引是什么以及为什么使用索引?7. 什么是事务?8. …...
【USRP】产品型号、参数、架构全解析系列 6:N320 / N321
一、USRP 简介 通用软件无线电外设( USRP ) 是由 Ettus Research 及其母公司National Instruments设计和销售的一系列软件定义无线电。USRP 产品系列由Matt Ettus领导的团队开发,被研究实验室、大学和业余爱好者广泛使用。 大多数 USRP 通过以太网线连接到主机&am…...
Apifox 常用 JS 脚本
前置脚本常用 1、时间戳生成(秒级): // 1、生成秒级时间戳到全局变量中 //let timestamp parseInt(new Date().getTime() / 1000) //pm.globals.set(timestamp, timestamp) // 2、生成秒级时间戳到全局变量中 pm.globals.set(timestamp, p…...
防止SQL注入的四种方案
一、什么是SQL注入? SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服…...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
JVM 内存结构 详解
内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 每个线程都有一个程序计数…...
C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...

















