循环结构
循环结构的基本概念
循环:重复干一些事情,重复执行那一块代码
场景:
快递员送快递:查看送件地址->赶往目的地->打电话通知收件人->收件人签字
->交付快递 重复以上过程,直到所有的快递都送完
食堂阿姨:接过学生餐盘->询问你吃啥菜->打菜->递过餐盘,重复以上过程
直到所有的学生打饭完成
案例:计算平均分
以上这两者方案,解决问题并不是很合适,如果你有40,400,42w的成绩的话怎么办?
仔细观察方案二:
他一直重复的做一件事(将这个数加到sum中),每次加的数不一样,但是很类似
如果成绩个数发生改变的话,代码稍微改动一下即可
N<=69 n<=79或者n<=100000000
while
While:当…则… 当…条件成立的时候,则一直重复做,当条件不成立的时候,停止
案例:计算1-10的和
案例:输出所有的水仙花数
案例:GDP预测
循环套路
(1)初始条件
(2)循环条件
(3)循环体(重复要做的那件事)
(4)为下一次循环做准备
后续拿到一个问题,不要瞎搞,就回答下面这4个问题
1-1/3+1/5-1/7变化
(+1/1)+(-1/3)+(1/5)+(-1/7)+(+1/9)
变化之后,和我们之前解决的1+2+3+4+5…+10的问题非常类似,都是累加和的问题,只不过每次加的内容不一样
每次加的内容,每一项的样子
t =符号1/分母
(1)初始状态什么样
①Sum = 0
②Sign=1 //符号
③Deno = 1 //分母
(2)重复的条件是什么
①|t|>10-6
(3)重复要做什么
①Sum +=t;
(4)怎么过渡到下一个循环
①Sign = sign * -1
②Deno = deno +2
③T=sign1/deno
案例:计算圆周率
Π = (1- 1/3 + 1/5 - 1/7 +…)*4,计算到最后一项的绝对值小于10-6
do while
do while循环式while的变种,和while循环是一样的,只是换了一种写法
语法:
Do{
循环的内容
}while(循环的条件)
从语法看,循环体在循环条件前面,之前while循环 循环条件在循环体前面,如果循环条件一次都不成立,do while循环体在前面可以运行一次,但是while循环一次都不会执行
案例:计算1-10
while和do while的区别:
do…while至少循环一次,while可以能一次都不循环
案例:输出所有水仙花数(改成do…while完成)
案例:GDP(改成do…while完成)
for循环
(1)for循环是while循环的变种,和while循环的思想是一样的,只是换了一种写法而已
能用for循环完成的案例一定可以使用while完成,但是能用while完成的不一定能用for循环完成
(2)在实际项目开发中,for循环的使用频率是最高的
for循环的基本语法
for(初始条件;循环结束的条件;循环步长){
循环体
}
循环步长=》决定循环的次数
案例:1-100的和(for循环)
案例:输出所有的水仙花数(改用for完成)
案例:判断一个数是否为素数
素数:如果一个数只能被1或者他本身整除,这个数就是素数
素数:5 11
整除:除以一个数,如果余数是0,就说明被整除了
判断数字n是否为素数,如果{2,n-1}找不到一个数字能把他整除,那他就是素数
如果找到一个他就不是素数。
循环辅助语句
break
跳出整个循环,循环一遇到break就不循环了
你每天都要上课,哪天退学了(break)…永远都不用上课…
案例:判断一个数是否为素数
案例:输出1-10
continue
跳过本次循环,接着下次循环继续走
你每天都要上课,哪天生病(continue),仅仅哪天不上课
案例:输出1-10,广东人忌讳4