li
认识循环
当一段代码需要被重复使用多次我们就可以使用循环,一可以减少代码量,二可以避免我们忘记该第几遍书写代码。
我们分为三种循环的书写方式(1)while(2)do...while(3)for
循环的注意要点(1)循环的开始条件(2)循环的结束条件(3)确定循环的步长(几步来完成)
(4)需要循环的部分(循环体)
(1)while循环:
语句结构:while(条件:注意这里的条件是结束的条件){
循环体
步长
}
注意:步长执行完毕之后会返回到条件的地方,询问条件是否成立,如果成立就进入{}执行代码
如果条件不成立循环就会结束。
写循环的时候步长一定要写,如果不写步长,我们的变量的值就不会发生改变,如果变量值不发生改变条件就会一直成立,就会一直循环下去,造成无限循环,一直循环我们成为死循环
例1:利用循环生成一组从200到250的数字
/*
利用循环生成一组从200-250的数字
1.起始值200
2.结束条件:<=250
3.步长:一次+1
4.循环体:重复打印变量的值
*/
var i = 200
while (i <= 250) {
console.log(i);
i++
}
例2.利用循环打印出1-10之间的奇数
/*
利用循环打印出1-10之间所有的奇数
*/
var i = 1
while (i <= 10) {
if (i % 2 != 0) {
console.log(i);
}
i++
}
例三。利用循环打印出1000-2000之间的闰年
/*
利用循环打印出1000-2000之间所有的闰年
闰年的条件:能被4整除并且不能被100整除,或者能被400整除
*/
var i = 1000
while (i <= 2000) {
if (i % 4 === 0 && i % 100 != 0 || i % 400 === 0) {
console.log(i);
}
i++
}
例4. 利用循环求1-100之间的所有数字累加之和
var sum = 0//用来保存和
var i = 1
while (i <= 100) {
// sum = sum + i
sum += i
i++
}
console.log(sum);
例5.求10!(求10的阶乘)
var chengji = 1
var i = 10
while (i >= 1) {
// chengji = chengji * i
chengji *= i
i--
}
console.log(chengji);
do...while循环:
do...while循环的基本语法,与while很相似。do...while是先干再判断。
do{
循环体
步长
}
while(条件)
for循环:
f语法:
for(定义初始值;结束条件;步长){
循环体
}
例1.用for循环求200-300之间能被3整除的数之和
var sum = 0
for (var i = 200; i <= 300; i++) {
if (i % 3 == 0) {
sum += i
}
}
console.log(sum);
例2.用for循环求水仙花数 解释:
水仙花数是1个三位数,每一位的立方和是该数本身,满足这种条件的就是水仙花数
比如153就是水仙花数,因为153是3位数字,并且1*1*1+5*5*5+3*3*3 = 153
for (var i = 100; i <= 999; i++) {
var ge = i % 10
var shi = parseInt(i / 10) % 10
var bai = parseInt(i / 100)
// if (ge * ge * ge + shi * shi * shi + bai * bai * bai === i) {
// console.log(i);
// }
if (ge ** 3 + shi ** 3 + bai ** 3 === i) {
console.log(i);
}
}
在循环中的if判断语句意思是当满足各位的立方+十位的立方+百位的立方等于这个数自身时满足水仙花数的定义。
循环中可以添加的单词:
break:这个单词用在循环中表示结束循环的一次,只要在循环中碰到break,那么这个循环就会立即停止
continue:这个单词用在循环中表示跳过的意思,只要在循环中碰到continue,那么本次循环将不再继续,也就是continue之后的代码将不再执行,而是会立即返回去重新开始下一次。
循环嵌套:
利用循环嵌套写九九乘法表:
for (var j = 1; j <= 9; j++) {//j=3
for (var i = 1; i <= j; i++) {//i=1 1<=3
document.write(i + '*' + j+'='+(i*j)+' ')//i*j 1*3 2*3 3*3
}
document.write('<br>')
}