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

JavaSE-03 【流程控制语句】

文章目录

  • JavaSE-03 【流程控制语句】
  • 第一章 流程控制
    • 1.1 流程概述
    • 1.2 顺序结构
  • 第二章 判断语句
    • 2.1 判断语句---if
    • 2.2 判断语句---if...else
    • 2.3 判断语句---if...else if ... else
  • 第三章 选择语句
    • 3.1 选择语句--switch
    • 3.2 case的穿透性
  • 第四章 循环语句
    • 4.1 循环概述
    • 4.2 循环语句--for
    • 4.3 循环语句--while
    • 4.4 循环语句--do..while
    • 4.5 循环语句的区别
    • 4.6 break和continue用法
  • 第五章 循环语句加强
    • 5.1 死循环
    • 5.2 嵌套循环

JavaSE-03 【流程控制语句】

第一章 流程控制

1.1 流程概述

在一个程序执行的过程中,每条语句的执行顺序对程序的结果是由直接影响的,
也就是,语句的流程对运行结果有着直接的影响,所以,必须清楚知道每条语句的执行流程,
并且,我们还需要通过控制语句的执行顺序来实现我们要完成的特定功能

1.2 顺序结构

顺序结构:就是根据编写的程序,从上到下的执行,如:

public static void main(String[] args) {//顺序执行:根据编写的程序,自上而下的执行。int a = 1;int b = 2;    int c = a+b;System.out.println(c);
}
  • 流程图

在这里插入图片描述

第二章 判断语句

2.1 判断语句—if

  • 语法格式
if(关系表达式){语句体;
}
  • 执行流程
  - 1、先判断关系表达式,是true还是false- 2、如果是true,执行语句体,如果是false,则不执行

在这里插入图片描述

  • 案例—Demo1_if
public class Demo1_if {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.2 判断语句—if…else

  • 语法格式
if(判断语句){执行语句1;
}else{执行语句2;
}
  • 执行流程

  • 案例:Demo02_if_else
public class Demo02_if_else {public static void main(String[] args) {//判断奇偶数//键盘输入数据int a = new Scanner(System.in).nextInt();//判断奇偶数if (a%2==0){System.out.println(a+":a是偶数");}else {System.out.println(a+":a是奇数");}}
}

2.3 判断语句—if…else if … else

  • 语法格式
if(判断条件1){执行语句1;
}else if(判断条件2){执行语句2
}
...
}else if(判断条件3){执行语句n;
}else{执行语句m;
}
  • 执行流程
  - 1、首选判断关系表达式1,是否为true,或false- 2、如果是true‘,执行语句体1,- 3、如果是false,再判断关系式2是否为true。或false- 4、如果是truw,执行语句体2- 5、...以此类推执行

  • 案例:Demo03_if_elseif_else
public class Demo03_if_elseif_else {public static void main(String[] args) {//判断成绩大小int score = new Scanner(System.in).nextInt();if (score>90){System.out.println("成绩优秀");}else if (score>=80 && score<90){System.out.println("成绩好");}else if (score>=70 && score<80){System.out.println("成绩良好");}else if (score>=60 && score<70){System.out.println("成绩及格");}else {System.out.println("不及格,叫家长来");}}
}

第三章 选择语句

3.1 选择语句–switch

  • switch的语法格式
switch(表达式){case 常量值1 : 语句体1;break;case 常量值2 : 语句体2;break;case 常量值3 : 语句体3;break;...default : 语句体n;break;
}
  • 执行流程:
  - 1、计算出表达式的值- 2、依次和case对应的常量值比较,一旦有对应的值,就执行相应的语句,执行过程中,遇到break结束- 3、如果所有的case对应常量值与表达式都不匹配,就执行default语句体,然后程序结束

在这里插入图片描述

  • 案例:Demo05_Switch
public class Demo05_Switch {public static void main(String[] args) {//案例:判断星期几int num = new Scanner(System.in).nextInt();switch (num){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;//此处break可以省略,推荐保留不省略}}
}

3.2 case的穿透性

  • switch语句使用的注意事项:
1、多个case后面的常量值不能重复
2、switch小括号中的数据类型:基本数据类型:byte、short、int、char引用数据类型:字符串,枚举等
3、switch的格式:比较灵活,前后顺序可以颠倒,break可以省略匹配到哪个case就从哪个位置向下执行,直到遇到break,或者整体代码结束
  • 案例:Demo06_SwitchNotice
public class Demo06_SwitchNotice {public static void main(String[] args) {int num = 2;switch (num){case 1:System.out.println("孙悟空");break;case 2:System.out.println("猪八戒");//break;//没有break,则会穿透后续的casecase 3:System.out.println("沙和尚");break;case 4:System.out.println("唐僧");break;default:System.out.println("西天取经");break;}}
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bLB19BZj-1686187770015)(photo/JavaSE03_流程控制语句.assest/1664099132918.png)]

第四章 循环语句

4.1 循环概述

循环语句可以在满足条件的情况下,反复执行某一段代码,
这样被重复执行的代码被称为循环体语句,
当反复执行这个循环时,需要在合适的时候,将循环判断条件修改为false,
从而结束循环,否则将一直执行下去形成死循环,

4.2 循环语句–for

  • 语法格式:
for(初始化表达式1;布尔表达式2;步进表达式4){循环体3;
}
  • 执行流程
  - 1、执行顺序1234,直到2不满足为止- 2、表达式1:负责完成循环变量初始化- 3、表达式2:负责判断是否满足循环条件,不满足则跳出循环- 4、循环体3:具体执行的代码- 5、表达式4:循环后,循环条件所涉及变量的变化情况

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XhQH5KIa-1686187770023)(photo/JavaSE03_流程控制语句.assest/1664101785534.png)]

  • 案例:Demo07_For
public class Demo07_For {public static void main(String[] args) {System.out.println("程序开始执行");for (int i = 1;i<=100;i++){//循环体System.out.println("我是第:"+i+" 次循环");}System.out.println("程序执行完毕");}
}

4.3 循环语句–while

  • 语法格式
初始化表达式1;
while(布尔表达式2){循环体3;步进表达式4;
}
  • 执行流程:
  - 1、执行顺序:1234--234--234-,直到2不满足为止- 2、初始化表达式1:负责完成循环变量的初始化- 3、表达式2:负责判断是否满足条件,不满足则跳出循环- 4、循环体3:具体语句的执行- 5、步进表达式4:循环后,循环变量的变化情况

在这里插入图片描述

  • 案例:Demo08_While
public class Demo08_While {public static void main(String[] args) {//扩展格式//初始化语句int i = 1;//判断条件while (i<=100){//循环体System.out.println("我被循环的次数是:"+i);//步进语句i++;}//标准化格式while (i<=100){//条件判断//循环体System.out.println("此次循环结束");}}
}

4.4 循环语句–do…while

  • 格式
初始化表达式1;
do{循环体2;步进表达式3;
}while(布尔表达式4)
  • 执行流程
  - 1、执行顺序:1234,直到不满足表达式4为止- 2、表达式1:负责完成循环变量的初始化- 3、循环体2:具体语句的执行- 4、表达式3:循环后,循环变量的变化情况- 5、表达式4:负责判断是否满足条件,不满足则跳出循环

在这里插入图片描述

  • 案例:Demo09_DoWhile
public class Demo09_DoWhile {public static void main(String[] args) {//初始条件int i = 1;do {//循环体System.out.println("我是do执行的第:"+i+"次");//步进语句i++;}while (i<=20);//判断条件}
}

4.5 循环语句的区别

- 1、如果条件判断从不满足,那么for和while执行0次,但是do-while会执行一次
- 2、for循环的变量在小括号中定义,只有循环内部才能使用
- 3、while和do-while的初始化数据本身就在循环的外面

4.6 break和continue用法

  • break语句的用法
- 1、可以使用在switch语句当中,一旦执行,整个switch语句立即结束
- 2、可以使用在循环语句中,一旦执行,整个循环结束
/*** break的用法*  1、可以使用在switch语句当中,一旦执行,整个switch语句立即结束*  2、可以使用在循环语句中,一旦执行,整个循环结束*/
public class Demo11_Break {public static void main(String[] args) {for (int i=1;i<10;i++){if (i==5){break;//若条件满足,那么就会结束循环}System.out.println("此时循环到的次数是"+i);}}
}
  • continue 语句的用法
一旦执行,立即跳过当前循环剩余内容,开始下一轮循环
/*** continue的用法*  一旦执行,立即跳过当前循环剩余内容,开始下一轮循环*/
public class Demo12_Continue {public static void main(String[] args) {for (int i=1;i<10;i++){if (i==5){continue;//表示跳出当前循环,执行下一轮循环}System.out.println("此时的循环次数是:"+i);}}
}

第五章 循环语句加强

5.1 死循环

  • 死循环: 就是循环中的条件永远为true,能执行但不会停下来的循环
  • 死循环出现的原因:程序漏洞、程序员刻意操作
/*** 死循环:能执行但不会停下来的循环*  格式:*      while(true){*          循环体*      }*/
public class Demo13_SiXunHuan {public static void main(String[] args) {while (true){int a = 10;System.out.println(a+=10);//ctrl+c停止运行}}
}

5.2 嵌套循环

  • 嵌套循环
循环的嵌套是指一个循环的循环体是另一个循环,
比如for循环qiantaofor循环,总循环次数  =  外循环次数*内循环次数
  • 嵌套循环格式:
for(初始化表达式1;循环条件2;步进表达式7){for(初始化表达式3;循环条件4;步进表达式6){循环体5;}    
}
  • 执行流程
  - 执行顺序:123456---456---723456---456- 外循环一次,内循环多次
  • 案例:Demo14_NestingFor
/*** 嵌套循环*  打印5*10的矩形*/
public class Demo14_NestingFor {public static void main(String[] args) {//外循环:外循环循环5次for (int i=1;i<=5;i++){//内循环:内循环在外循环循环1次的基础上,都要进行循环10次for (int j=1;j<=10;j++){System.out.print("*");}System.out.println("\n");}}
}

相关文章:

JavaSE-03 【流程控制语句】

文章目录 JavaSE-03 【流程控制语句】第一章 流程控制1.1 流程概述1.2 顺序结构 第二章 判断语句2.1 判断语句---if2.2 判断语句---if...else2.3 判断语句---if...else if ... else 第三章 选择语句3.1 选择语句--switch3.2 case的穿透性 第四章 循环语句4.1 循环概述4.2 循环语…...

笔记本电脑的BIOS是怎么保护安全的?

随着攻防技术的不断演进&#xff0c;像BIOS攻击、高级网络代码攻击等手段层出不穷&#xff0c;“受害者”也不仅限于企业级服务器、存储&#xff0c;很多魔爪也开始伸向了拥有商业机密数据的PC。 BIOS是Basic Input/Output System&#xff08;基本输入/输出系统&#xff09;的…...

Xubuntu之将rm删除内容移至回收站(一百七十七)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…...

STM32F407实现1588v2(ptpd)

硬件&#xff1a; STM32F407ZGT6开发板 软件&#xff1a; VSCode arm-none-eabi-gcc openOCD st-link 在github搜到一个在NUCLEO-F429ZI开发板上移植ptpd的example&#xff0c;因为和F407差别很小&#xff0c;所以就打算用这个demo移植到手头的开发板上。因为目前只需要…...

架构师如何找到自己的商业模式

作为一个架构师&#xff0c;必须要在有限的资源下最大化架构活动所带来的商业价值。对于任何一个架构活动而言&#xff0c;架构师的可用资源&#xff0c;包括商业成本、研发成本、时间成本、迁移成本等等&#xff0c;都是非常有限的。但架构活动就是要在这些限制条件之下&#…...

SQLServer2022安装(Windows),已验证

一、SQLServer2022下载 1、官网下载地址 SQL Server 下载 | Microsoft 2、下载安装包 2.1、选择Developer版本&#xff0c;立即下载。 2.2、打开下载文件夹&#xff0c;双击运行SQL2022-SSEI-Dev.exe 尝试运行SQL2022-SSEI-Dev.exe&#xff0c;会收到以下信息&#xff1a;“…...

facenet, dlib人脸识别,人体检测,云数据库mysql,QQ邮箱,手机验证码,语音播报

目录 部分代码展示&#xff1a; 录入部分 识别部分​编辑 活体检测部分​编辑 同步到云数据库MySQL 其他操作 部分图片展示&#xff1a; 完整代码加ui链接&#xff1a; 涉及到的一些知识点的文章 部分代码展示&#xff1a; 录入部分 识别部分 活体检测部分 同步到云数…...

Spring Boot 面试题——定时任务

目录 1.什么是 cron 表达式&#xff1f;如何使用&#xff1f;2.Scheduled 注解有什么作用&#xff1f;3.介绍一下 spring-boot-starter-quartz。4.在 Spring Boot 中如何实现定时任务&#xff1f;4.1.使用 Schedule 注解4.2.Quartz 框架 1.什么是 cron 表达式&#xff1f;如何使…...

总建面64万平,配3所幼儿园+54班九年制学校,坪山江岭竹元规划

近日&#xff0c;坪山区城市更新和土地整备局发布&#xff0c;关于《坪山区马峦街道江岭竹元片区城市更新单元规划》已通过深圳市城市规划委员会法定图则委员会审批。现予以公告。 项目位于坪山区马峦街道&#xff0c;南邻南坪快速路&#xff0c;北邻比亚迪路&#xff0c;东西两…...

python3 爬虫相关学习7:使用 BeautifulSoup下载网页图片到本地文件夹

目录 1 一个爬图片pic的代码的例子 1.1 学习的原文章 1.2 原始代码的问题总结 问题1 问题2 问题3 其他问题 1.3 原始代码 2 直接在cmd里 python运行报错 和 处理 2.1 运行报错 2.2 报错原因&#xff1a; 没有提前安装这个bs4 模块 2.3 如何提前知道我的python环境…...

windows平台python脚本执行环境搭建笔记

1.python脚本环境下载 这里是原始发布源&#xff1a; https://www.python.org/downloads/release/python-3114/https://www.python.org/downloads/release/python-3114/安装时记得添加进系统path&#xff0c;这样你可以随时调用python环境。 2.扩展模块的安装 step1.找到py…...

MyBatis的动态SQL之OGNL(Object-Graph Navigation Language)表达式以及各种标签的用法

MyBatis的动态SQL 1、if标签的用法2、choose标签的用法3、where标签4、set标签5、trim的用法6、foreach标签7、bind标签 使用过JDBC或者是其他的ORM框架的开发者都知道&#xff0c;在很多操作中都需要去根据具体的条件进行SQL语句的拼接&#xff0c;并且在有些时候一些标点符号…...

基于Java+Springboot+Vue的二次元商城网站设计与实现

博主介绍&#xff1a;✌擅长Java、微信小程序、Python、Android等&#xff0c;专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3fb; 不然下次找不到哟 Java项目精品实战案…...

MyBatis操作数据库实现

说明&#xff1a;MyBatis是作用于三层架构开发&#xff0c;数据访问层&#xff08;Data Access Object&#xff09;的框架&#xff0c;用于访问数据库&#xff0c;对数据进行操作。 一、环境搭建 首先&#xff0c;创建一个SpringBoot模块&#xff0c;然后把MyBatis的环境搭建…...

Git GitLab 使用及规范

Git 基本操作 Git安装配置及基本使用 从官网下载安装包&#xff0c;手动完成安装。打开Git Bash命令行工具&#xff0c;执行命令ssh-keygen -t rsa -C Email-Addresss生成一个密钥对。登录到GitLab&#xff0c;点击右上角你的用户头像&#xff0c;点击Edit Profile settings&…...

【SpringCloud——Sentinel】

一、什么是雪崩&#xff1f; 微服务调用链路中的某个服务发生故障&#xff0c;引起整个链路中的所有微服务都不可用&#xff0c;这就是雪崩。 二、解决雪崩问题的常见措施 1、超时处理 设定超时时间&#xff0c;请求超过一定时间没有响应就返回错误信息&#xff0c;不会无休…...

面试专题:计算机网络常见面试点总结

socket、tcp、udp、http 的认识及区别 socket、tcp、udp、http 的认识及区别​ 一、先来一个讲TCP、UDP和HTTP关系的 1、TCP/IP是个协议组&#xff0c;可分为三个层次&#xff1a;网络层、传输层和应用层。 在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。 在传…...

PageHelper失效问题

问题出现记录&#xff1a; 修改代码后&#xff0c;出现分页失效问题&#xff0c;原本的代码再设置了 PageHelper.startPage(pageNum, pageSize);后只有一个mysql查询&#xff0c;我在原本的业务查询前&#xff0c;新增了其他的Mysql查询&#xff0c;导致原需要分页的查询失效 …...

Linux常用命令——grep命令

在线Linux命令查询工具 grep 强大的文本搜索工具 补充说明 grep&#xff08;global search regular expression(RE) and print out the line&#xff0c;全面搜索正则表达式并把行打印出来&#xff09;是一种强大的文本搜索工具&#xff0c;它能使用正则表达式搜索文本&…...

学校热水供应系统方案

学校热水供应系统是现代化校园建设的重要组成部分。一套高效、可靠、安全、环保的热水供应系统&#xff0c;不仅能够满足学生、教职工的日常生活需求&#xff0c;也能提高学校形象和竞争力。 在设计学校热水供应系统方案时&#xff0c;需要考虑以下几个方面&#xff1a; 一、热…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强&#xff0c;React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 &#xff08;1&#xff09;使用React Native…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架&#xff0c;支持"一次开发&#xff0c;多端部署"&#xff0c;可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务&#xff0c;为旅游应用带来&#xf…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天&#xff0c;数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具&#xff0c;在大规模数据获取中发挥着关键作用。然而&#xff0c;传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时&#xff0c;常出现数据质…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

React---day11

14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store&#xff1a; 我们在使用异步的时候理应是要使用中间件的&#xff0c;但是configureStore 已经自动集成了 redux-thunk&#xff0c;注意action里面要返回函数 import { configureS…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中&#xff0c;性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期&#xff0c;开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发&#xff0c;但背后往往隐藏着系统资源调度不当…...

协议转换利器,profinet转ethercat网关的两大派系,各有千秋

随着工业以太网的发展&#xff0c;其高效、便捷、协议开放、易于冗余等诸多优点&#xff0c;被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口&#xff0c;具有实时性、开放性&#xff0c;使用TCP/IP和IT标准&#xff0c;符合基于工业以太网的…...