程序逻辑控制
文章目录一、顺序结构二、分支结构2.1 if 语句2.2 switch 语句1. 基本语法2. 执行流程三、循环结构3.1 while循环3.2 break3.3 continue3.4 for循环3.5 do while 循环四、小试牛刀一、顺序结构按照代码的顺序一行一行执行publicclassTest{publicstaticvoidmain(String[]args){System.out.println(aaa);System.out.println(bbb);System.out.println(ccc);}}二、分支结构2.1 if 语句1.单if判断if布尔表达式{语句;}2.if…else二选一if布尔表达式{语句;}else{语句;}3.if…else if…else多分支if布尔表达式{语句}elseif{语句;}else{语句;}4.题目:判断成绩类型publicclassTest{publicstaticvoidmain(String[]args){intscores98;if(scores90scores100){System.out.println(优秀);}elseif(scores80scores90){System.out.println(良好);}elseif(scores70scores80){System.out.println(中等);}elseif(scores60scores70){System.out.println(及格);}elseif(scores0scores60){System.out.println(不及格);}else{System.out.println(错误数据);}}}5.题目判断一个数是奇数还是偶数publicclassTest{publicstaticvoidmain(String[]args){inta14;if(a%20){System.out.println(是偶数);}else{System.out.println(是奇数);}}}6.题目判断一个年份是否为闰年普通年份能被4整除且不能被100整除的是闰年如2020、2024世纪年份如1900、2000则必须能被400整除才是闰年。publicclassTest{publicstaticvoidmain(String[]args){intyear2005;if((year%40year%100!0)||(year%4000)){System.out.println(是闰年);}else{System.out.println(是平年);}}}7.悬垂else问题publicclassTest{publicstaticvoidmain(String[]args){intx10;inty20;if(x20)if(y10)System.out.println(hehe);elseSystem.out.println(haha);}}//什么都不打印if / else语句中可以不加括号也可以写语句只能写一条语句此时else是和最接近的if匹配2.2 switch 语句1. 基本语法switch(表达式){case常量1:语句块1;break;case常量2:语句块2;break;// 可以有任意多个case,但常量值不可以重复default:默认语句;break;}2. 执行流程先计算表达式的值和case依次比较一旦有响应的匹配就执行该项下的语句直到遇到break时结束当表达式的值没有所项匹配时执行default注意不能做switch的参数的数据类型是long float double boolean ;switch 不能表达复杂的条件://这样的代码使用if很容易表达但是使用switch就无法表示。ifnum10num20){system.out.println(hehe);}switch 虽然支持嵌套但是很丑一般不推荐三、循环结构3.1 while循环循环条件为为布尔表达式,值为true则执行循环语句否则结束循环。while(循环条件){循环语句;}题目判断1~100之间奇数的和publicclassTest{publicstaticvoidmain(String[]args){inti1;intsum0;while(i100){sumi;i2;}System.out.println(sum);}}题目计算5的阶乘publicclassTest{publicstaticvoidmain(String[]args){inti1;intret1;while(i5){ret*i;i;}System.out.println(ret);}}题目计算1 2 3 4 5publicclassTest{publicstaticvoidmain(String[]args){inti1;intsum0;while(i5){intj1;intret1;while(ji){ret*j;j;}sumret;i;}System.out.println(sum);}}3.2 breakbreak的功能是让循环提前结束。publicclassTest{publicstaticvoidmain(String[]args){inta1;while(a10){if(a3){break;}System.out.print(a );a;}}}//输出1 23.3 continuecontinue 的功能是跳过这次循环立即进入下次循环。publicclassTest{publicstaticvoidmain(String[]args){inta1;while(a10){if(a3){a;continue;}System.out.print(a );a;}}}//输出1 2 4 5 6 7 8 93.4 for循环基本语法for(表达式1;布尔表达式2;表达式3){表达式4;}3.5 do while 循环基本语法do{循环语句;}while(循环条件);先执行循环语句在判定循环条件循环条件成立则继续进行否则循环结束。注意do while 循环后的分号不要忘记一般 do while很少用到更推荐使用for 和while例题打印1~10publicclassTest{publicstaticvoidmain(String[]args){intnum1;do{System.out.println(num);num;}while(num10);}}四、小试牛刀1.判定⼀个数字是否是素数素数是指大于 1并且只有 1 和自身两个正因数的自然数。因此0、1 和负数都不是素数。解法一素数只能整除1和它本身publicclassTest{publicstaticvoidmain(String[]args){intn3;// 小于等于 1 的整数不是素数if(n1){System.out.println(不是素数);return;}inti2;//除以2 到 n - 1之间的数字for(i2;in-1;i){if(n%i0){System.out.println(不是素数);break;}}if(in-1){System.out.println(是素数);}}}解法二如果 n 是合数那么它在区间 [2, n / 2] 内必然存在至少一个因数。因此可以通过枚举该区间判断 n 是否为素数。​publicclassTest{publicstaticvoidmain(String[]args){intn3;// 小于等于 1 的整数不是素数if(n1){System.out.println(不是素数);return;}inti2;for(i2;in/2;i){if(n%i0){System.out.println(不是素数);break;}}if(in/2){System.out.println(是素数);}}}解法三如果 n 是合数那么它至少存在一个不大于根号n的因数因此只需要枚举到根号npublicclassTest{publicstaticvoidmain(String[]args){intn3;// 小于等于 1 的整数不是素数if(n1){System.out.println(不是素数);return;}inti2;for(i2;iMath.sqrt(n);i){if(n%i0){System.out.println(不是素数);break;}}if(iMath.sqrt(n)){System.out.println(是素数);}}}注意自幂数是指一个n位数它的每个数位上的数字的n次幂之和等于他本身。自幂数名字一位次幂数独身数1~9三位自幂数水花仙数四位自幂数四叶玫瑰数五位自幂数五角星数六位自幂数六合数七位自幂数北斗七星数;八位自幂数八仙数九位自幂数九九重阳数十位自幂数十全十美数2.求出100〜999之间的所有“水仙花数”并输出。(“水仙花数”是指⼀个三位数其各位数字的立方和刚好等于该数本⾝如 153 1^3 5^3 3^3 则153是⼀个“水仙花数”。publicclassTest{publicstaticvoidmain(String[]args){for(inti100;i999;i){intsum0;inttempi;while(temp!0){sumMath.pow(temp%10,3);temp/10;}if(sumi){System.out.println(水仙花数有 i);}}}}//运行结果:该水仙花数为153该水仙花数为370该水仙花数为371该水仙花数为407升级输出一到六位自幂数publicclassTest{publicstaticvoidmain(String[]args){for(inti1;i999999;i){//1.求当前数字i是一个几位数intcount0;//假设i 123inttempi;while(temp!0){count;temp/10;}//temp 0 count 3tempi;//temp 123intsum0;while(temp!0){sumMath.pow(temp%10,count);temp/10;}if(sumi){System.out.println(count 位自幂数为i);}}}}//运行结果1位自幂数为11位自幂数为21位自幂数为31位自幂数为41位自幂数为51位自幂数为61位自幂数为71位自幂数为81位自幂数为93位自幂数为1533位自幂数为3703位自幂数为3713位自幂数为4074位自幂数为16344位自幂数为82084位自幂数为94745位自幂数为547485位自幂数为927275位自幂数为930846位自幂数为5488343.给定两个数求这两个数的最大公约数例如输入20 40输出20解题思路:最大公约数即两个数据中公共约数的最大者。求解的方式比较多此处主要介绍辗转相除法publicstaticvoidmain(String[]args){inta18;intb24;// 第一步转为正整数处理负数边界aMath.abs(a);bMath.abs(b);intca%b;//a,b大小关系无所谓while(c!0){ab;bc;ca%b;}System.out.println(b);}4.最小公倍数公式法适用于两个数若已知两个数 a 和 b以及它们的最大公因数Greatest Common Divisor简称 GCD可通过公式直接计算最小公倍数publicstaticvoidmain(String[]args){intnum118;// 保存原始值后续计算需要用intnum224;intanum1;// 用于计算GCD的临时变量intbnum2;intca%b;// 先求最大公因数GCDwhile(c!0){ab;bc;ca%b;}intgcdb;// 此时b为最大公因数// 再用公式计算最小公倍数LCMintlcm(num1*num2)/gcd;System.out.println(最小公倍数是lcm);// 输出结果为72}5.计算1 / 1 - 1 / 2 1 / 3 - 1 / 4 1 / 5 …… 1 / 99 - 1 / 100 的值思路从上述表达式可以分析出该表达式主要由100项奇数项为正偶数项为负publicstaticvoidmain(String[]args){doublesum0;intflg1;for(inti1;i100;i){sum1.0/i*flg;flg-flg;}System.out.println(sum);}

相关新闻

Windows热键冲突终极解决方案:hotkey-detective深度技术指南

Windows热键冲突终极解决方案:hotkey-detective深度技术指南

Windows热键冲突终极解决方案:hotkey-detective深度技术指南 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective Wi…

2026/7/30 21:45:51 阅读更多 →
Transformer剪枝暗箱操作(内部训练数据不外泄):仅用验证集+单次前向即完成通道剪枝的专利级方法

Transformer剪枝暗箱操作(内部训练数据不外泄):仅用验证集+单次前向即完成通道剪枝的专利级方法

更多请点击: https://codechina.net 第一章:AI 剪枝技术介绍 AI 剪枝(Pruning)是一种模型压缩技术,旨在移除神经网络中冗余或贡献微弱的参数(如权重、通道、层),在几乎不损失精度的…

2026/7/30 21:45:51 阅读更多 →
EasyGBS视频监控平台:GB28181协议解析与应用实践

EasyGBS视频监控平台:GB28181协议解析与应用实践

1. EasyGBS技术概述与行业背景EasyGBS作为一款基于GB28181协议的视频监控管理平台,已经成为安防行业数字化转型的重要基础设施。我第一次接触这套系统是在2018年参与某智慧园区项目时,当时传统监控系统无法满足多厂商设备接入和互联网访问的需求&#xf…

2026/7/30 21:45:51 阅读更多 →

最新新闻

泊松表面重建:从点云到水密网格的算法原理与C++实现

泊松表面重建:从点云到水密网格的算法原理与C++实现

1. 项目概述:为什么泊松表面重建值得深究?在三维数据处理和计算机图形学的日常工作中,我们常常会拿到一堆离散的点云数据——可能是通过激光雷达扫描的建筑物,也可能是通过多视角重建得到的物体表面采样点。面对这些密密麻麻的“点…

2026/7/30 21:53:53 阅读更多 →
React createPortal:突破组件层级的DOM渲染技术

React createPortal:突破组件层级的DOM渲染技术

1. React中的createPortal:穿透组件层级的魔法钥匙在React开发中,我们经常遇到需要将子节点渲染到父组件DOM层级之外的情况。比如模态框(Modal)、全局通知(Toast)、工具提示(Tooltip)等组件,如果按照常规的组件嵌套关系渲染,很容易…

2026/7/30 21:53:53 阅读更多 →
【扣子平台稳定性基石】:从源码级剖析错误处理节点的4层拦截机制与3类异常透传陷阱

【扣子平台稳定性基石】:从源码级剖析错误处理节点的4层拦截机制与3类异常透传陷阱

更多请点击: https://codechina.net 第一章:【扣子平台稳定性基石】:从源码级剖析错误处理节点的4层拦截机制与3类异常透传陷阱 扣子平台(Coze)的错误处理节点并非简单包装异常,而是构建在四层防御性拦截之…

2026/7/30 21:53:53 阅读更多 →
WeChatPad完整指南:一键解锁微信平板模式,实现真正的双设备同步登录

WeChatPad完整指南:一键解锁微信平板模式,实现真正的双设备同步登录

WeChatPad完整指南:一键解锁微信平板模式,实现真正的双设备同步登录 【免费下载链接】WeChatPad 强制使用微信平板模式 项目地址: https://gitcode.com/gh_mirrors/we/WeChatPad 还在为微信只能在单一设备上登录而烦恼吗?你是否希望能…

2026/7/30 21:53:53 阅读更多 →
搜索“AI智能体公司十大排名”时,别只看演示:从TeleAgent看四个办公细节

搜索“AI智能体公司十大排名”时,别只看演示:从TeleAgent看四个办公细节

搜索“AI智能体公司十大排名”时,人们很容易先比较模型参数、功能数量和演示画面。由中电信人工智能公司自主研发的TeleAgent,聚焦工作办公场景。真正影响日常使用的,是文件能不能直接处理、重复任务能不能按授权运行、换到移动端是否还能继续…

2026/7/30 21:53:53 阅读更多 →
Paperzz期刊平台:提升学术论文写作效率的智能工具

Paperzz期刊平台:提升学术论文写作效率的智能工具

1. 论文写作效率革命:paperzz期刊平台深度解析 在科研工作者日常中,论文写作与发表往往占据大量时间精力。最近接触到paperzz期刊平台的功能更新,其针对学术写作流程的优化设计确实让人眼前一亮。这个平台通过结构化写作模板、智能文献管理和…

2026/7/30 21:52:53 阅读更多 →

日新闻

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 您是否曾因Windows系统盘空间不足而烦恼?是否遇到过设…

2026/7/30 0:00:13 阅读更多 →
如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 你是否曾经在浏览…

2026/7/30 0:00:13 阅读更多 →
“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

更多请点击: https://intelliparadigm.com 第一章:AI 教师备课辅助 AI 教师备课辅助系统正逐步成为教育数字化转型的核心支撑工具,它并非替代教师,而是通过语义理解、知识图谱与多模态生成能力,将教师从重复性劳动中解…

2026/7/30 0:00:13 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/29 22:18:20 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/29 15:00:03 阅读更多 →

月新闻