Java流程控制(一)

news/2024/12/29 15:04:34/

    • ⭐ 控制语句
    • ⭐ 条件判断结构(选择结构)
    • ⭐ switch 语句

  做任何事情事情都要遵循一定的原则,毕竟不以规矩,不成方圆,例如,到图书馆去借书,就必须要有借书证,并且借书证不能过期,这两个条件缺一不可。程序设计也是如此,需亚流程控制语句实现与用户的交流,并根据用户的输入决定程序要"做什么""怎么做"等。
  流程控制对于任何一门编程语言来说都是至关重要的,它提供了控制程序步骤的基本手段,如果没有流程控制语句,整个程序将按照线性的顺序来执行,不能根据用户的输入流决定执行的序列。下面我带大家一起了解Java语言中的流程控制语句。

⭐ 控制语句

在这里插入图片描述

控制语句:

把语句组合成能完成一定功能的小逻辑模块。
它分为三类:顺序、选择和循环。

学会控制语句,是真正跨入编程界的"门槛",是成为"程序猿"的"门票"。

⭐	 “顺序结构”代表“先执行 a,再执行 b”的逻辑。比如,先找个女朋友,再给女朋友打电话。
⭐	 “条件判断结构”代表“如果…,则…”的逻辑。比如,如果女朋友来电,则迅速接电话;
⭐	 “循环结构”代表“如果…,则重复执行…”的逻辑。比如,如果没打通女朋友电话,则再继续打一次;(做个舔狗!!!)

    很神奇的是,三种流程控制语句就能表示所有的事情!不信,你可以试试拆分你遇到的各种事情。实际上,任何软件和程序,小到一个练习,大到一个操作系统,本质上都是由“变量、选择语句、循环语句”组成。

在这里插入图片描述

⭐ 条件判断结构(选择结构)

在这里插入图片描述
条件判断结构有:

if 结构和 switch 结构。而 if 结构又可以分为 if 单分支结构、if-else 双分支结构、if-else if-else 多分支结构。

在这里插入图片描述
if 单分支结构
在这里插入图片描述
语法结构:

		if(布尔表达式){语句块}

注意:

	⭐	如果if语句不写{},则只能作用于后面的第一条语句。⭐	强烈建议,任何时候都写上{},即使里面只有一句话!

【eg】if 单分支结构(掷骰子游戏)
在这里插入图片描述
Math 类的使用

⭐	Math.random()该方法用于产生 0 到 1 区间的 double 类型的随机数,但是不包括 1。
⭐	int i = (int) (6 * Math.random()); //产生:[0,5]之间的随机整数
	public class Test {public static void main(String[ ] args) {//通过掷三个骰子看看今天的手气如何?int a = (int)(6 * Math.random()) + 1;//通过 Math.random()产生随机数int b = (int)(6 * Math.random()) + 1;int c = (int)(6 * Math.random()) + 1;int count = a + b + c;//如果三个骰子之和大于 15,则手气不错if(count > 15) {System.out.println("今天手气不错");}//如果三个骰子之和在 10 到 15 之间,则手气一般if(count >= 10 && count <= 15) { //错误写法:10<=count<=15System.out.println("今天手气很一般");}//如果三个骰子之和小于 10,则手气不怎么样if(count < 10) {System.out.println("今天手气不怎么样");}System.out.println("共计" + count + "分");}
}

if-else 双分支结构
在这里插入图片描述

语法结构:

	if(布尔表达式){语句块 1}else{语句块 2
}

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

【eg】if-else 双分支结构

	public class Test {public static void main(String[ ] args) {//随机产生一个[0.0, 4.0)区间的半径,并根据半径求圆的面积和周长double r = 4 * Math.random();//Math.pow(r, 2)求半径 r 的平方double area = 3.14* r*r;double circle = 2 * Math.PI * r;System.out.println("半径为: " + r);System.out.println("面积为: " + area);System.out.println("周长为: " + circle);//如果面积>=周长,则输出"面积大于等于周长",否则,输出周长大于面积if(area >= circle) {System.out.println("面积大于等于周长");} else {System.out.println("周长大于面积");}}
}

条件运算符有时候可用于代替 if-else。

【eg】if-else 与条件运算符的比较:使用 if-else

	int a = 3;int b = 4;int c2 = 0;if(a<b){c2 = b;}else{c2 = a;}System.out.println(c2);

【eg】if-else 与条件运算符的比较:使用条件运算符

		// 三元运算int a = 3;int b = 4;int c = a<b?b:a; //返回 a 和 b 的最大值System.out.println(c);

if-else if-else 多分支结构

在这里插入图片描述

语法结构:

		if(布尔表达式 1) {语句块 1;} else if(布尔表达式 2) {语句块 2;}……else if(布尔表达式 n){语句块 n;} else {语句块 n+1;
}

当布尔表达式1为真时,执行语句块1;否则,判断布尔表达式2,当布尔表达式 2 为真时,执行语句块 2;否则,继续判断布尔表达式 3······;如果 1~n 个布尔表达式均判定为假时,则执行语句块 n+1,也就是 else 部分。

【eg】if-else if-else 多分支结构

	public class Test {public static void main(String[ ] args) {int age = (int) (100 * Math.random());System.out.print("年龄是" + age + ", 属于");
//15 岁以下儿童;15-24 青年;25-44 中年;45-64 中老年;65-84 老年;85 以上老寿星if (age < 15) {System.out.println("儿童, 喜欢玩!");} else if (age < 25) {System.out.println("青年, 要学习!");} else if (age < 45) {System.out.println("中年, 要工作!");} else if (age < 65) {System.out.println("中老年, 要补钙!");} else if (age < 85) {System.out.println("老年, 多运动!");} else {System.out.println("老寿星, 古来稀!");}}
}

⭐ switch 语句

switch 多分支结构(多值情况)
在这里插入图片描述

语法结构:

		switch (表达式) {case1: 语句块 1;break;case2:语句块 2;break;… … … … …default:默认语句块;
}

⭐ switch 会根据表达式的值从相匹配的 case 标签处开始执行,一直执行到 break 处或者是 switch 的末尾。如果表达式的值与任一 case 值不匹配,则进入 default 语句。
⭐ switch 中表达式的值,是 int(byte、short、char、long 不行)、枚举,字符串。

【eg】switch 结构

		public class TestSwitch {public static void main(String[] args){int month = 2; //1 表示 1 月,2 表示 2 月,....if(month==1||month==2||month==3){System.out.println("春季");}else if(month==4||month==5||month==6){System.out.println("夏季");}else if(month==7||month==8||month==9){System.out.println("秋季");}else{System.out.println("冬季");}System.out.println("========使用 switch 改造上面的代码,switch 特别适合多值判断=============");switch (month){case 1:case 2:case 3:System.out.println("春季");break;case 4:case 5:case 6:System.out.println("夏季");break;case 7:case 8:case 9:System.out.println("秋季");break;default:System.out.println("冬季");}}
}

switch 接收字符串

【eg】JDK7.0 之后可以直接使用字符串。

		 String str = "audi";switch (str){case "audi":System.out.println("我买了个奥迪车");break;case "benz":System.out.println("我买了个奔驰车");break;default:System.out.println("比亚迪,挺好!");}

http://www.ppmy.cn/news/74670.html

相关文章

信息安全-应用安全-SCA技术:SBOM应用实践初探

目录 软件供应链安全治理 供应链安全概述 风险治理重点 何为SBOM SBOM的元素 SBOM的格式 SBOM使用场景 如何使用SBOM 选择SBOM工具 SBOM与风险情报关联 围绕SBOM建立管理流程 关于SBOM的思考 现代软件都是组装的而非纯自研。随着开源组件在数字化应用中的使用比例越…

MySQL高级SQL语句

创建两个表用于演示 location store_info use kgc; create table location (Region char(20),Store_Name char(20)); insert into location values(East,Boston); insert into location values(East,New York); insert into location values(West,Los Angeles); insert into lo…

AI脚本插件开发-自定图层名及专色-插件制作源码-illustrator插件开发

文章目录 1.illustrator1.1.app.activeDocument1.2.selection2.模块分析3.源码工程4.功能描述5.作者答疑本文主要分析一款插件的源码,自定图层名及专色,代码一般较长,读者耐心阅读,对于学习插件开发具有不小的帮助。先介绍了一下基础资料,如有不懂的地方,就去这些资料里去…

Day5 模块(单元)测试——单元测试、自顶向上测试、自下向上测试

Day5 模块(单元)测试——单元测试、自顶向上测试、自下向上测试 文章目录 Day5 模块(单元)测试——单元测试、自顶向上测试、自下向上测试什么是单元测试?单元测试结构化程序时代单元测试与使用单元测试的误解单元测试过程成本效率不高结论单元测试的优点测试用例白盒覆盖…

25-1-HTML DOM-事件(鼠标事件、键盘事件、表单事件等等)

JavaScript 事件&#xff08;Event&#xff09;是指在 HTML 文档中某些特定的交互动作或操作发生时&#xff0c;浏览器会自动触发并执行预先编写好的 JavaScript 代码。常见的交互动作或操作包括鼠标点击、键盘按下、网页加载完成等。 下面是一些常见的 HTML 事件&#xff1a;…

SRP Batcher在真机上失效

1&#xff09;SRP Batcher在真机上失效 ​2&#xff09;Shader里面对同一张纹理多次采样会影响效率吗 3&#xff09;为什么纹理开启了mipmap后&#xff0c;纹理内存反而下降了 4&#xff09;TMP为什么有多次Delegate.Combine()的GC 这是第336篇UWA技术知识分享的推送&#xff0…

翼辉+飞腾全国产实时操作系统与全国产主板工控方案在电力产品的应用

SylixOS&#xff08;MS-RTOS&#xff09;电力产品应用简介 一、电网传统装置&#xff1a; 继电保护、测控、稳控、PMU、时间同步、故障录波等装置&#xff08;输变电&#xff09; 一般使用AMP方案&#xff0c;少数客户使用SMP方案。2019年11月使用SylixOS的国内首台100%全国…

Spring MVC 原理

Spring MVC 原理 Spring 的模型-视图-控制器&#xff08;MVC&#xff09;框架是围绕一个 DispatcherServlet 来设计的&#xff0c;这个 Servlet 会把请 求分发给各个处理器&#xff0c;并支持可配置的处理器映射、视图渲染、本地化、时区与主题渲染等&#xff0c;甚至还能 …