文章目录

  • 前言
  • 一、 循环结构
    • 1.循环的组成
    • 2.循环语句for
    • 3.while循环的组成
    • 4.do-while循环的组成
    • 5.循环语句其它知识

前言

循环的概念和组成【理解】
for循环语句【重点中的重点】
while循环语句【重点】
do while循环语句【了解】


一、 循环结构

重复性的执行某些固定的功能,当条件不成立时,结束循环
说白了: 条件成立执行操作,条件不成立停止操作

1.循环的组成

1.循环的组成(手写100遍HelloWorld案例): :
(1)【初始化表达式1】准备工作:笔墨伺候,最优先唯一执行一次的操作
(2)【循环条件2】条件判断:每次书写前,判断一下,要不要写
(3)【循环体3】循环所要进行的操作:手写一个HelloWorld案例
(4)【步进表达式4】扫尾的工作:每写一次HelloWorld,计数(+1)

2.执行流程:
1,2(循环条件: true),3,4 --> 2(循环条件: true),3,4 --> … --> 直到2(循环条件: false),结束循

3.循环的分类:
(1)for循环【重点中的重点】
(2)while循环【重点】
(3)do-while循环【了解】

2.循环语句for

1.for循环格式:
for(初始化表达式1;布尔表达式2;步进表达式4){
循环体3;
}
其它语句;

2.执行流程:
1,2(循环条件:true),3,4 --> 2(循环条件:true),3,4 --> … --> 直到布尔表达式2(循环条件:false)结束for循环,执行for循环后面的其它语句

举个例子

需求:在控制台输出5次HelloWorld public class Demo01ForHello {public static void main(String[] args) {//count: 0,1,2,3,4 count<5:true 执行循环体//count: 5 count<5 ==> 5<5 ==> false 结束for循环for (int count = 0; count < 5; count++) {System.out.println("HelloWorld...."+count);}System.out.println("for...end...");//times: 1,2,3,4,5 times<=5: true 执行循环体//times: 6 times<=5 ==> 6<=5 ==> false 结束for循环for (int times = 1; times <= 5; times++) {System.out.println("HelloWorld...."+times);}System.out.println("for...end...");}
}

第二个例子水仙花数

需求:
在控制台输出所有的“水仙花数”

解释:什么是水仙花数?
水仙花数,指的是一个三位数,个位、十位、百位的数字立方和等于原数
例如 153 333 + 555 + 111 = 27 + 125 + 1 = 153

实现步骤:
1.使用for循环获取所有的三位数字,保存到循环变量num中
1.1计算循环变量num中当前三位数字的个位,十位,百位,分别保存到int变量ge(个位),shi(十位),bai(百位)中
1.2计算个位,十位,百位数字的立方和,保存到int变量sum中
1.3判断如果该三位数字的立方和sum 等于该三位数字num: 说明是水仙花数字
1.4打印该水仙花数字

代码如下(示例):

public class Demo02ForSXH {public static void main(String[] args) {//1.使用for循环获取所有的三位数字,保存到循环变量num中for (int num = 100; num <= 999; num++) {//System.out.println(num);//1.1计算循环变量num中当前三位数字的个位,十位,百位,分别保存到int变量ge(个位),shi(十位),bai(百位)中int ge = num%10;//个位int shi = num/10%10;//十位int bai = num/100%10;//百位//1.2计算个位,十位,百位数字的立方和,保存到int变量sum中int sum = ge*ge*ge + shi*shi*shi + bai*bai*bai;//1.3判断如果该三位数字的立方和sum 等于该三位数字num: 说明是水仙花数字if (sum == num) {//1.4打印该水仙花数字System.out.println(num);}}}
}

3.while循环的组成

1.while循环格式:
初始化表达式1;
while(布尔表达式2){
循环体3;
步进表达式4;
}
其它语句;

2.执行流程:
1,2(循环条件: true),3,4 --> 2(循环条件: true),3,4 --> … --> 直到布尔表达式2(循环条件: false),结束while循环,直接执行while循环后面的其它代码

需求:
在控制台输出5次HelloWorld

代码如下(示例):

public class Demo01While {public static void main(String[] args) {//使用for循环for (int i = 1; i <= 5; i++) {System.out.println("HelloWorld...."+i);}System.out.println("for...end...");//使用while循环int j = 1;//初始化表达式1//j: 1,2,3,4,5 j<=5: true 执行循环体//j: 6 j<=5: false 结束while循环,执行后面的其它代码while(j<=5){//j<=5: 布尔表达式2System.out.println("HelloWorld...."+j);//循环体3j++;//步进表达式4}System.out.println("while....end....");}
}

我们来举第二个例子

需求:
世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。
请问,我折叠多少次,可以折成珠穆朗玛峰的高度?
折纸(折叠后的厚度是原有厚度的2倍,而不是平方的关系):
原来: 0.1 paper
第一次: 0.12: 0.2 paper = paper * 2
第二次: 0.2
2: 0.4
第三次: 0.42: 0.8
第四次: 0.8
2: 1.6

实现步骤:
1.定义int变量count,初始值0,用来统计折叠纸张的次数
2.定义2个double变量zf(珠峰的高度)和paper(纸张的厚度),分别代表珠峰的高度和纸张的厚度,并根据题目需求进行初始化
3.使用while循环,完成折叠纸张达到珠峰的高度
3.1布尔表达式,循环条件: 只要折叠后的纸张高度 小于 珠峰的高度 paper < zf
3.2循环体: 折叠一次纸张,使得纸张的厚度变为原来的2被 paper = paper *2 或者 paper *= 2
3.3步进表达式: 计数器count的值增加1
4.while循环结束,打印count的值

public class Demo02WhileZF {public static void main(String[] args) {//1.定义int变量count,初始值0,用来统计折叠纸张的次数int count = 0;//2.定义2个double变量zf(珠峰的高度)和paper(纸张的厚度),分别代表珠峰的高度和纸张的厚度,并根据题目需求进行初始化double zf = 8844430,paper = 0.1;//3.使用while循环,完成折叠纸张达到珠峰的高度//3.1布尔表达式,循环条件: 只要折叠后的纸张高度 小于 珠峰的高度     paper < zfwhile (paper < zf) {//3.2循环体: 折叠一次纸张,使得纸张的厚度变为原来的2被 paper = paper *2 或者 paper *= 2paper *= 2;//paper = paper *2//3.3步进表达式: 计数器count的值增加1count++;//System.out.println("折叠第"+count+"次纸张的厚度: "+paper);}//4.while循环结束,打印count的值System.out.println("总共折叠次数: "+count);//System.out.println("折叠后纸张的最终厚度: "+paper);//1.34217728E7 ==> 13421772.8 8844430}
}

4.do-while循环的组成

1.do-while循环格式:
初始化表达式1;
do {
循环体3;
步进表达式4;
} while(布尔表达式2);
其它语句;

2.执行流程:
1,3,4 --> 2(循环条件:true),3,4 --> 2(循环条件:true),3,4 --> … --> 直到布尔表达式2(循环条件:false)的结果为false,解释do-while循环,执行do-while后面的其它语句

代码如下(示例):

do-while循环练习:在控制台输出5次HelloWorld
/*do-while循环练习:在控制台输出5次HelloWorld*/
public class Demo01DoWhile {public static void main(String[] args) {int i = 1;//初始化表达式1do {System.out.println("HelloWorld...."+i);//循环体3i++;//步进表达式4} while(i<=5);//布尔表达式2 i: 6 6<=5: false 结束do-while循环,执行后面的其它语句System.out.println("do...while...end");}
}

5.循环语句其它知识

三种循环的区别总结
1.建议使用的顺序: for,while,do-while
2.循环次数确定的话,建议使用for,循环次数不确定建议使用while 【后面有使用场景】
循环次数不确定需要先写成死循环的格式【while好看】
3.do-while循环来讲的话,至少执行一次
4.while和do-while循环而言,循环结束后,初始化条件中定义的变量可以继续使用,
但是for循环的不能使用(在for循环内部定义初始化语句)

死循环

1.概念: 永不休止的循环

2.分类:
(1)for循环的死循环格式: for芬芬
for(;.;.){

}
(2)while循环的死循环格式 -------推荐使用
while(true){

}
(3)do-while循环的死循环格式
do {

} while(true);

public class DemoDeadLoop {public static void main(String[] args) {//for: 死循环/*for (int i = 3; i > 0; ) {System.out.println("Hello");}*//*for (; true; ) {System.out.println("Hello");}*///for: 死循环//不写布尔表达式2,默认值true//for循环()中的三个式子,可以都不写,但是必须保留两个分号/*for (; ;) {System.out.println("Hello");}*///while: 死循环/*int i = 3;while (i > 0) {System.out.println("Hello");}*//*while(true) {System.out.println("Hello");}*///do-while: 死循环do {System.out.println("Hello");} while(true);}
}

03筑基期——循环、嵌套循环、循环跳转、随机数(算法基础又篇)相关推荐

  1. 解决请求重定向无法跳转以及页面无限循环跳转

    问题1:请求重定向无法跳转 原因:由于前台使用了一些框架,部分组件是利用的iframe来写页面的,导致后台对请求进行重定向时,前台页面无法跳转,而是在对镶嵌iframe中的页面进行跳转,无法实现在浏览 ...

  2. c语言 循环嵌套循环_C中的嵌套循环

    c语言 循环嵌套循环 Here you will learn about nested loops in C. 在这里,您将了解C中的嵌套循环. Nesting is one of the most ...

  3. 放弃“for循环”,教你用这种算法 !(附代码)

    原文标题:Why you should forget 'for-loop' for data science code and embrace vectorization 作者:Tirthajyoti ...

  4. java循环左一_java实现循环左移和右移的简单算法

    java实现循环左移和右移的简单算法 byte a=112,用程序实现,将其循环左移三位和右移三位. 112的二进制原码:0111 0000 112循环左移3位后的二进制码:1000 0011 112 ...

  5. Java:实现 按概率生成随机数算法(附完整源码)

    Java:实现 按概率生成随机数算法 /*** 从一组数据按照概率分布随机取出一个*/public static int getRandomNum(List<ModelNum> nums) ...

  6. 【经典题目】rand7()生成rand10()——随机数算法

    随机数算法的转换 从小数向大数映射 这一类的算法主要分为两种,一种是从小数映射向大数,rand7()-->rand10().另外一种是从大数映射向小数rand10()-->rand7() ...

  7. php中循环跳过,php for循环的exit / break / continue /goto 停止、跳过循环、继续循环...

    php 与 JavaScript 有很多相似的地方: for循环中 也有两个相同: 只是 php 比 js 多了一个 exit , 其他用法一样: for($i =1;$i<11;$i++){ ...

  8. java sleep 循环_while循环中的Thread.sleep()

    我注意到NetBeans警告我在我的Java代码中使用while循环中的Thread.sleep(),所以我已经对这个主题进行了一些研究 . 主要问题似乎是性能问题,当计数器仍处于休眠状态时,你的状态 ...

  9. 03 switch循环语句

    1. switch语句 1.1 分支语句switch语句 格式 switch (表达式) {case 1:语句体1;break;case 2:语句体2;break;...default:语句体n+1; ...

  10. mysql matlab for循环嵌套循环语句吗_C++: for_each 和 基于范围的for循环

    普通的for循环 for_each函数模板 基于范围的for循环 普通用的像: for(int i = 0; i 这种的for循环就不说了, 下面主要说一下后两个,做个笔记. 以后用for循环可以考虑 ...

最新文章

  1. 今天才发现ff不支持navigate。
  2. web项目html引入css文件路径,详解Webpack和Webpack-simple中如何引入CSS文件_旧店_前端开发者...
  3. reactjs组件的props属性及其特点
  4. 解决eclipse中java代码注释变成乱码的问题
  5. sublime同步配置和插件
  6. java8并行流_Java 8:CompletableFuture与并行流
  7. idea抽取重复方法快捷键_IDEA 真牛逼,900行 quot;又臭又长quot; 的类重构,几分钟搞定...
  8. magento权限设置
  9. 如何搭建自己的第四方支付平台?
  10. 这一次带你彻底了解远程Cookie操作
  11. Storm并发度详解(转载)
  12. php请求403 forbidden,403 forbidden是什么意思
  13. DELL笔记本电脑问win10系统插入耳机没有反应,不像之前有弹窗
  14. WKWebView 设置 UserAgent
  15. PS证件照排版计算器
  16. autojs ui界面模板3
  17. 高屋建瓴-------谈观看朱老师视频有感
  18. SD卡扇区损坏引起了读文件失败
  19. android 模拟器按键映射
  20. [Python]调用adb抢双十一淘宝喵币

热门文章

  1. 一文带你熟悉JAVA IO这个看似很神秘的菇凉
  2. python#魔兽游戏#英雄联盟lol#地图
  3. 用计算机和电视机组成家庭影院,如何让我的电脑连上我的家庭影院?
  4. 计算机的自动播放功能有什么用,禁用自动播放功能的几种方法
  5. 大数据翻页_大数据分页实现与性能优化
  6. TP-LINK路由器如何设置DHCP
  7. 【JY】结构概念之(消能减震黏滞阻尼器)
  8. freecodecamp小练习——Falsy Bouncer过滤数组假值
  9. 设置多个dns_迅雷:要想下载速度快 请避免使用国外公共DNS服务
  10. ESP8266学习——HW Timer