鉴于本人还处于学习阶段,以下内容为个人理解所做笔记,可能存在一定错误,如果能指出错误之处感激不尽,希望能与大家共同进步。
所谓循环结构就是周而复始的执行同一段代码,当然循环不能是一直运行的,那样便成了死循环程序将被困在循环中,所以我们所需要的循环结构是一个能听从我们指令,进行有限次运行并能获得我们所需要的数据。要想建立一个这样的循环结构就需要考虑以下几点需求:
1)初始状态(初始化):最开始的循环状态,每次循环开始前都需要恢复到同样的状态,这样才不会被上一轮循环影响到
2)循环判断:判断循环是否继续进行,保证达到我们需求后能退出循环
3)执行代码:所需要循环执行的代码
4)循环值改变:一般循环值就是循环判断中被判断的变量,在每次循环后,这个变量都需要改变。
循环结构与选择结构一样,都是需要进行大量的练习才能熟练掌握,只理解理论知识是没有用的。接下来就详细介绍下循环结构这个大家庭的成员吧。
结构:
while(条件){
执行代码
}
例:
var n=1;【初始条件】
while(n<10【循环判断】){【花括号内都是执行代码】
console,log(n);
n++【循环值改变】
}
当条件满足时,执行代码运行,然后对条件进行再次判断,满足再次运行执行代码,直到条件不满足时退出循环。
结构:
do{
执行代码
}while(条件)
先运行一次执行代码,然后再对条件进行判断,满足条件时再运行一次,不满足则退出循环。
结构:
for(初始化循环值;判断条件;循环值改变){
执行代码
}
例:
for(【这里var如果省略不写,i就变为全局变量】var i=0;i<10;i++){
console.log(i)
}
当判断条件满足时,执行代码运行一次,循环值改变,然后再进行判断,直到判断条件不满足时退出循环。
有时候我们不需要循环全部都执行,而是满足一定条件便能停止,举个例子:有一个循环结构,每次能输出一个数字,一共能输出100次,这时候有100个随机生成的一位数字,我想在遇到6时候便停止输出,或者只输出偶数,这就要用到两个能停止循环的关键字了
break在switch循环中出现过,他的作用便是结束程序运行返回上一层代码,在循环中执行到break将结束本次循环去执行循环之后的代码,适合添加在想终止循环的位置
当执行到continue时,在continue之后的代码不执行,跳到下一次循环,换而言之就是跳过了本次循环,但没用终止循环,循环将继续进行。适合添加在想跳过循环的位置。
以下练习题均为本人培训过程中老师当天布置的练习题,对理解循环语句有很大的帮助,我会将个人的解题代码放置最后,个人水平有限仅供参考
1.入职薪水10K,每年涨幅5%,50年后工资多少?
2.打印100以内 7的倍数
3.打印100以内的奇数
4. 打印100以内所有偶数的和
5. 打印图形
1) ********** ********** ********** **********
2)* i =0, 1 ** i=1, 2 *** i=2, 3 **** i=3
3)* *** ***** *** *
4)@ @@@ @@@@@ @@@@@@@
5)
6. 打印100–200之间所有能被3或者7整除的数
7. 计算100的阶乘 100!
8. 计算1+3+5+…+99的和
9. 99乘法表
10. 求100-999之间的水仙花数。 算法 : abc = a ³ + b³ + c ³
11. 输出20-80之间能被3整除的整数,每5个一行
12. 打印出1000-2000年中所有的闰年,并以每行四个数的形式输出
13 . 求1+2!+3!+…+20!的值
14. 打印出1-100里所有的偶数
15. 打印出1-100里所有的奇数
16. 求出1/1-1/2+1/3-1/4……1/100的和
提升题(选做):
17. 输出100-200之间所有的素数
18. 求s=a+aa+aaa+aaaa+….+aa…a的值,其中a是一个数字。例如2+22+222+2222
19. 操场上 100 多人排队 ,3 人一组多 1 人 ,4 人一组多 2 人 ,5 人一组多 3 人 , 共多少人
20. 两个自然数相除 , 商 3 余 10, 被除数 , 除数 , 商 , 余数的和是 163, 求被除数 , 除数
21. 一只猴子旁边有 100 根香蕉 猴子距离家 50 米 猴子一次顶多搬 50 根香蕉
但猴子每走6米就要吃掉一根香蕉 问猴子最多能拿多少根香蕉回家
22. 假设某人有 100,000 现金。 每经过一次路口需要进行一次交费。 交费规则为当他现金大于50,000 时每次需要交 5%
如果现金小于等于 50,000 时每次交 5,000 。 请写一程序计算此人可以经过多少次这个路口
23. 《张丘建算经》 成书于公元 5 世纪, 作者是北魏人. 书中最后一道题堪称亮点, 通常也被称为 “ 百钱买百鸡 ” 问题,
民间则流传着县令考问神童的佳话书中原文如下:
鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?
翻译过来,意思是公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?
以下为个人答案(本人是用了JS函数封装解题代码,需要调用函数才能看的结果,如果是还未学到函数的同学可以直接将内部代码拿出来使用,用特定值去测试解题代码是否确定)
// 1 n年后数值,初始j,年涨幅5%
function salary(year){
var j = 10
for(i=1;i<year;i++){
j = 1.05*j
}
j = parseInt(j*1000);
j = j/1000
console.log(year+"年后工资为:"+j+"K")
}
// 2 num以内7的倍数
function seven(num){
for(i = 0;i <= 100;i++){
if( i % 7 == 0){
console.log(i)
}else{
}
}
}
// 3 num以内奇数
function odd(num){
for(i = 0; i <= 100; i++){
if(i % 2 == 1){
console.log(i)
}else{
}
}
}
// 4 num以内偶数和
function sum(num){
var j = 0;
for(i = 0; i <= 100; i++){
if(i % 2 == 0){
j = j + i
}else{
}
}
console.log(j)
}
// 5.1
function grap_1(num){
for(i = 0; i<num;i++){
console.log("**********")
}
}
//5.2
function grap_2(num){
for(var i=0;i<=num;i++){
if(i>0){
document.write(i+" ");
}
for