循环结构
循环结构
- 循环结构
- 一、课前问答
- 二、while循环
- 三、do-while循环
- 四、for循环
- 五、流程控制
- 5.1 break
- 5.2 continue
循环结构
一、课前问答
1、switch支持的数据类型。
2、switch中break的作用。
3、多重if如果多个条件都成立,执行方式。
二、while循环
语法:
while(布尔条件){
// 代码块1
}
执行流程:
先判断布尔条件,如果成立,则执行代码块1,然后再判断条件,成立再执行代码块1,直到条件不成立才结束。
public class Demo01 {// while循环public static void main(String[] args) {int n = 0; // 初始化变量,只执行一次while(n < 100) { // 判断条件System.out.println("hello, world" + n); // 执行的内容n++; // 条件的变化}System.out.println("程序结束");}
}
public class Demo02 {// while循环,求1~100的和public static void main(String[] args) {int n = 1; // 初始化变量,只执行一次int sum = 0; // 计算和值 while(n <= 100) { // 判断条件sum = sum + n; // sum += n;n++; // 条件的变化}System.out.println("和值为:" + sum);}
}
public class Demo03 {// while循环,求1~100所有偶数的和public static void main(String[] args) {int n = 1; // 初始化变量,只执行一次int sum = 0; // 计算和值 while(n <= 100) { // 判断条件if(n % 2 == 0) {sum = sum + n; // sum += n;}n++; // 条件的变化}System.out.println("和值为:" + sum);}
}
public class Demo04 {// 求1~100以内所有与7相关的数字之和public static void main(String[] args) {int n = 1; // 初始化变量,只执行一次int sum = 0; // 计算和值 while(n <= 100) { // 判断条件if(n % 7 == 0 || n % 10 == 7 || n / 10 == 7) { // 与7相关,7,14,21,17,27,37,70,71,72sum = sum + n; // sum += n;}n++; // 条件的变化}System.out.println("和值为:" + sum);}
}
public class Demo05 {// 求所有的3位水仙花数public static void main(String[] args) {int n = 100;while(n < 1000) {int g = n % 10;int s = n / 10 % 10;int b = n / 100;if(n == g * g * g + s * s * s + b * b * b) {System.out.println(n + "水仙花数");}n++;}}
}
三、do-while循环
语法:
do{
// 代码块
}while(条件);
执行流程:
先执行一次代码块,再判断条件,如果条件成立,再次执行代码块,再次判断条件,直到条件不成立为止。
注意:
while与do-while的区别:
while循环先判断条件,执行代码块的次数是0次到多次。
do-while循环先执行一次,再判断条件,执行代码块的次数是1次到多次。
public class Demo06 {// 根据评语判断是否抄写代码public static void main(String[] args) {Scanner input = new Scanner(System.in);String s;do {System.out.println("抄写一遍代码");System.out.println("请老师输入评语:");s = input.next();}while(!s.equals("y"));}
}
public class Demo07 {// 猜数字public static void main(String[] args) {Random random = new Random();int number = random.nextInt(10) + 1; // 生成1~10的随机数Scanner input = new Scanner(System.in);int n;do {System.out.println("请猜一个数字:");n = input.nextInt();// 比较大小,并提示用户// 计次数字++}while(number != n);System.out.println("恭喜你猜对了");}
}
四、for循环
语法:
for(int i = 0; i < 10; i++){
// 代码块
}
执行流程:
- 先执行初始化部分,即int i = 0; 只执行一次。
- 判断条件,i < 10; 如果条件成立,则执行代码块,条件不成立则循环结束
- 代码块执行完毕后,执行迭代部分,即i++,执行完毕后,继续判断条件,直到条件不成立。
public class Demo08 {// for循环public static void main(String[] args) {for(int n = 0; n < 100; n++) {System.out.println("hello, world" + n); // 执行的内容}System.out.println("程序结束");}
}
五、流程控制
5.1 break
在一层循环中使用,作用是停止循环。
public class Demo2 {// 找到最小的3位7的倍数public static void main(String[] args) {for (int i = 100; i < 1000; i++) {if(i % 7 == 0) {System.out.println(i);break;}}}
}
public class Homework1 {// 定义两个int类型数字,求最大公约数。public static void main(String[] args) {int num1 = 32000;int num2 = 260;for (int i = num1; i > 0 ; i--) {if(num1 % i == 0 && num2 % i == 0) {System.out.println("最大公约数为:" + i);break;}}}
}
public class Homework2 {// 定义两个int类型数字,求最小公倍数。public static void main(String[] args) {int num1 = 6;int num2 = 10;for (int i = 1;; i++) {if(i % num1 == 0 && i % num2 == 0) {System.out.println("最小公倍数为:" + i);break;}}}
}
注意:循环中止使用break只能停止一层循环,并不能停止嵌套循环。
5.2 continue
在循环中,如果执行continue,意味着当次循环在continue后面的代码不执行,继续执行下一次循环。
注意:如果在循环中continue后面没有代码,意味着continue没有意义。
public class Demo3 {// continue循环public static void main(String[] args) {for (int i = 0; i < 10; i++) {if(i == 5) {continue;}System.out.println("hello");System.out.println("world");System.out.println("11111");System.out.println(i);}}
}
相关文章:
循环结构
循环结构循环结构一、课前问答二、while循环三、do-while循环四、for循环五、流程控制5.1 break5.2 continue循环结构 一、课前问答 1、switch支持的数据类型。 2、switch中break的作用。 3、多重if如果多个条件都成立,执行方式。 二、while循环 语法: …...
漫谈数据库表设计及索引设计
一.数据库表设计 在数据库表设计上有个很重要的设计准则,称为范式设计。 什么是范式设计? 范式来自英文Normal Form,简称NF。MySQL是关系型数据库,但是要想设计—个好的关系,必须使关系满足一定的约束条件,…...
【JavaWeb】CSS基础知识:引入方式 + 选择器
CSS引入 CSS的引入有三种,三种的优缺点各不相同。 行内样式表 <!-- 行内样式表 --><!-- 相当于标签的一个属性 --><!-- 只对当前标签生效 --><!-- 优先级较高,会覆盖其他样式 --><p style"color: blue;">这是…...
02-前端-javaScript
文章目录JavaScript1,JavaScript简介2,JavaScript引入方式2.1 内部脚本2.2 外部脚本3,JavaScript基础语法3.1 书写语法3.2 输出语句3.3 变量3.3.1 全局变量var3.3.2 局部变量let3.3.3 常量const3.4 数据类型3.5 运算符3.5.1 \和区别 ▲3.5.2 …...
对链表学习的总结一
一,单链表结构定义 C/C++ 数组:一组具有相同类型数据的集合。结构体:不同类型数据的集合。 // Definition for singly-linked list. struct ListNode {int val;ListNode *next;ListNode(int x) : val(x), next...
toSring()还有个高级用法好用
Object.prototype.toString()能够很好的判断数据的类型及内置对象 typeof xxx:能判断出number,string,undefined,boolean,object,function(null是object)Object.prototype.toString.call(xxx):能判断出大部分类型Array.isArray(xxx):判断是否为数组var test= Object.…...
Linux--多线程(3)
目录1. POSIX信号量1.1 概念2. 基于环形队列的生产消费者模型2.1 环形队列的基本原理2.2 基本实现思想3. 多生产多消费1. POSIX信号量 1.1 概念 信号量本质是一个计数器,申请了信号量以后,可以达到预定临界资源的效果。 POSIX信号量和SystemV信号量相同…...
【spring】事务
概述 1、什么事务 事务是数据库操作最基本单元,逻辑上一组操作,要么都成功,如果有一个失败所有操 作都失败 2、事务四个特性(ACID) (1)原子性 (2)一致性 (3…...
博通仍然是美股市场最好的芯片半导体股
来源:猛兽财经 作者:猛兽财经 博通(AVGO)是一家快速增长的半导体公司,并且有很高的股息分红,目前其股息收益率已经高出了平均水平3.2%,而且估值非常合理,仅为预期净利润的14倍。 虽然博通也受到了经济衰退影…...
java开发手册之异常日志
文章目录异常日志异常处理日志规约异常日志 异常处理 1.Java 类库中定义的一类 RuntimeException可以通过预先检查进行规避,而不应该通过 catch 来处理 比如:IndexOutOfBoundsException,NullPointerException 等等。 说明:无法通…...
P6专题:关于P6 EPPM和PPM的区别及选型
目录 引言 什么是 Primavera P6 项目管理? Primavera P6 PPM 关键点 Primavera P6 PPM 是独立工具还是企业工具? 什么是 Primavera P6 企业项目组合管理? 那么EPPM的windows-tool呢? P6 EPPM 适合谁? 更多对比…...
亿万级海量数据去重软方法
文章目录原理案例一需求:方法案例二需求:方法:参考原理 在大数据分布式计算框架生态下,提升计算效率的方法是尽可能的把计算分布式话、并行化,避免单节点计算过载,把计算分摊到各个节点。这样解释小白能够…...
记录--手摸手带你撸一个拖拽效果
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 最近看见一个拖拽效果的视频(抖音:艾恩小灰灰),看好多人评论说跟着敲也没效果,还有就是作者也不回复大家提出的一些疑问,本着知其然必要知其所以然…...
python高德地图+58租房网站平台源码
wx供重浩:创享日记 对话框发送:python地图 免费获取完整源码源文件说明文档配置教程等 在PyCharm中运行《高德地图58租房》即可进入如图1所示的高德地图网页。 具体的操作步骤如下: (1)打开地图网页后,在编…...
ubuntu 将jupyter-lab保存为桌面快捷方式和favourites
ubuntu: 将jupyter-lab保存为桌面快捷方式和favourites desktop shortcut 建立一个新的desktop文件 cd ~/Desktop touch Jupyter-lab.desktop将文件修改成如下: [Desktop Entry] Version1.0 NameJupyterlab CommentBack up your data with one click Exec/home/cjb/…...
Java 类和对象简介
类是对象的抽象,是一组具有相同特性(属性,事物的状态信息)和行为(事物能做什么)的事物的集合,可以看做一类事物的模板。 对象是类的实例化,是具体的事物。 比如:人类和…...
时间复杂度的计算
个人主页:平行线也会相交 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创 收录于专栏【数据结构初阶(C实现)】 文章目录123456789时间复杂度(就是一个函数)的计算,…...
站内信箱系统的设计与实现
技术:Java、JSP等摘要:在经济全球化和信息技术成为发展迅速的今时今日,人们通过电子邮件收发进行信息传递已经成为主流。随着互联网和网络办公的发展,电子邮件正在被广泛应用在人们的日常生活中。跟据调查研究统计,在全…...
systemV共享内存
systemV共享内存 共享内存区是最快的IPC形式。共享内存的大小一般是4KB的整数倍,因为系统分配共享内存是以4KB为单位的(Page)!4KB也是划分内存块的基本单位。 之前学的管道,是通过文件系统来实现让不同的进程看到同一…...
Python基础之if逻辑判断
在学习if语句之前,我们先学习一种数据类型,布尔类型(bool),在if语句中,我们需要通过判断条件是否为真或者假,才进入下面的语句块执行。 一、布尔类型(bool) 布尔类型&a…...
C语言变长数组原理与工程实践指南
C语言变长数组的工程实践与应用解析1. 变长数组技术背景1.1 ANSI C与C99标准对比传统ANSI C标准要求数组长度必须在编译时确定,定义方式如下:int a[10]; // 合法,长度为编译时常数C99标准引入变长数组(VLA)特性,允许数组长度在运…...
手把手教你用Ollama玩转translategemma-27b-it:图文翻译全攻略
手把手教你用Ollama玩转translategemma-27b-it:图文翻译全攻略 1. 认识translategemma-27b-it:你的专业翻译助手 1.1 什么是translategemma-27b-it translategemma-27b-it是Google基于Gemma 3架构开发的开源翻译模型,专为多语言图文翻译任…...
从5G到Wi-Fi:深入浅出聊聊Eb/N0这个‘归一化‘指标到底牛在哪
从5G到Wi-Fi:深入浅出聊聊Eb/N0这个"归一化"指标到底牛在哪 想象你站在两个不同的菜市场门口:一个摊位密集人声鼎沸,另一个宽敞安静但摊主吆喝声微弱。如果只比较整体噪音水平(类似SNR),可能会得…...
别再只会用QProgressBar了!用QPainterPath绘制Qt自定义进度条的完整指南
用QPainterPath实现Qt动态进度条的终极艺术 当标准进度条无法满足现代UI设计需求时,Qt的绘图系统为我们打开了无限可能。想象一下:你的应用加载界面不是单调的横条,而是会呼吸的光环、跳动的粒子流或是随音乐律动的波形——这些令人眼前一亮的…...
Python扩展模块发布即弃坑?PyPI审核新规+manylinux2014/2023+musllinux多目标轮子构建全流程(含CI/CD自动化脚本)
第一章:Python扩展模块发布即弃坑?PyPI审核新规manylinux2014/2023musllinux多目标轮子构建全流程(含CI/CD自动化脚本)PyPI自2023年起强化了对二进制轮子(wheel)的合规性审查,尤其针对C/C扩展模…...
BongoCat:重新定义桌面体验的互动工具
BongoCat:重新定义桌面体验的互动工具 【免费下载链接】BongoCat 让呆萌可爱的 Bongo Cat 陪伴你的键盘敲击与鼠标操作,每一次输入都充满趣味与活力! 项目地址: https://gitcode.com/gh_mirrors/bong/BongoCat 你是否曾觉得日复一日的…...
PFC 2D二维直剪代码解析与源文件分享
PFC 2D 二维直剪,代码逐行解释,提供源文件。 。 嘿,各位岩土工程或者离散元爱好者们!今天咱来唠唠PFC 2D里二维直剪的事儿,顺便把代码给大家扒一扒,逐行解释清楚,最后源文件也双手奉上ÿ…...
解锁B站视频资源:bilibili-parse解析工具全面应用指南
解锁B站视频资源:bilibili-parse解析工具全面应用指南 【免费下载链接】bilibili-parse bilibili Video API 项目地址: https://gitcode.com/gh_mirrors/bi/bilibili-parse bilibili-parse是一款基于PHP开发的Bilibili视频解析工具,为开发者提供简…...
深入解析SSD的FTL:从LBA到PBA的映射机制与优化策略
1. 为什么需要FTL:SSD的"翻译官"工作原理 当你把文件保存到SSD时,操作系统只需要告诉SSD"把数据存到LBA 1234地址",完全不用关心数据实际存放在闪存芯片的哪个物理位置。这个神奇的能力全靠**FTL(闪存转换层&…...
别再手动开FDTD了!用Matlab这行代码一键启动Lumerical 2022(附完整配置流程)
用Matlab自动化操控Lumerical FDTD的工程实践指南 在光学仿真领域,Lumerical FDTD Solutions是纳米光子器件设计的黄金标准工具,而Matlab则是算法开发和数据分析的利器。传统工作流中,工程师需要在这两个软件间反复切换、手动操作,…...
