while 循环和for循环 及do while循环

166 阅读2分钟

循环:就是满足某个条件 重复操作执行的动作

while循环:

while(条件表达式){ 执行语句} 满足条件表达式 ,不满足时退出 先判断是否满足,再走执行语句

打印1-100的值

var i = 1
while(i<=100){
	console.log(i)
	i++
}

求和 1-100的求和

var i = 1
var sum = 0
while(i<=100){
	console.log(i)
	sum += i
	i++
}
console.log(sum)

do{执行语句 }while

(条件表达式)无论条件是否满足,至少执行一次 在判断是否满足条件,不满足则退出

打印1-100

var i = 1
do{
	console.log(i)
	i++
}while(i<=100)

【循环中要避免出现死循环,死循环是没有终止条件的为死循环】

break和continue的区别 break :结束整个循环 continue:结束本次循环,进入下一次的循环

for循环:

for(初始值;退出条件;步进){ 执行语句 }

image.png

打印1-100之间的数

for(var i=0;i<100;i++){
	console.log(i+1)
}

打印1-100之间的偶数和

var sum = 0
for(var i=1;i<=100;i++){
	if(i%2==0){
		sum+=i
	}
}
console.log(sum)
for循环嵌套

任意循环可以互相嵌套

for(初始值;迭代条件;迭代量){
	for(初始值;迭代条件;迭代量){
		//循环体
	}
}

打印等腰三角形

/*
    *    
   ***
  *****
 *******
*********
*/
for(var i=0;i<5;i++){
	var line = ''
	//打印空格
	for(var j=0;j<4-i;j++){
		line += ' '
	}
	//打印*
	for(var j=0;j<2*i+1;j++){
		line += '*'
	}
	console.log(line)
}

找到1-100之间所有的素数 (只能被自身和1整除)

for(var i=1;i<=100;i++){
	//从2数到自身-1
	var count = 0 //计算因数的个数
	for(var j=2;j<i;j++){
		//用i除以j
		if(i%j==0){ //是有因数
			count++
		}
	}
	if(!count){ //判断因数是否还是0个 如果是0表示当前为素数
		console.log(i)
	}
}

打印乘法口诀表

for(var i=1;i<=9;i++){
	var line = ''
	for(var j=1;j<=i;j++){
		line+=i+'*'+j+'='+i*j+'\t'
	}
	console.log(line)
}

打印 1-100所有的偶数每行三个

var line = ''
var count = 0
for (var i = 1; i <= 100; i++) {
    if (i % 2 == 0) {
        count++
        line += (i+'\t')
        //满足了3个条件
        if (count==3) {
            //到达三个加上换行符
            line+='\n'
            //重新计数
            count = 0
        }
    }
}
console.log(line)

三种循环的练习和区别

  • 都是会反复执行的代码块
  • 大部分情况下可以互相替换
  • do..while至少执行一次,while和for有可能0次,while不太确定执行次数,for绝大部分情况下都可以确定