day03循环语句

循环的概念

循环就是重复执行一段代码,避免死循环,提高效率(时间复杂度,空间复杂度)

时间复杂度(判断内容执行效率,依照次数计算)

do while (对应的while唯一区别就是先做后判断)

循环的用处:对大量的数据进行操作的时候

循环三要素

初始值(初始的变量值)
迭代量 (基于初始值的改变)
条件 (基于初始值的判断)
 

while语句

while(条件表达式(返回true和false)){ 
执行的代码
}
var 初始值变量 = 值
while(条件){
迭代量
执行的代码
}

案例从1加到100

var number = 0 
var sum = 0 
while(number<100){ 
number++ 
sum += number 
}
console.log(sum);

do while语句

do{
执行的代码 
}while(条件) 
var 初始值 =do{
执行的代码 
迭代量变化 
}while(条件)

从1加到100案例

var i = 0 
var sum = 0 
do{
 i++ 
sum+=i 
}while(i<100)

while和do while区别

while是先判断后执行 do while 先执行后判断
do while最少执行一次 while最少执行0次
while复杂度低于for循环(算法的优化可以用while代替for)

for循环

for(初始值;条件;迭代量){
 //执行的代码 跟if一样如果你执行的代码只有情况下可以省略{}
 }

从1加到100案例

var sum = 0
 for(var i=0;i<=100;i++){ 
sum += i 
}
O(1) (每行只执行一遍 常数阶)
var i = 0
 i++ 
if(i<10){ 
console.log(i) 
}
O(logN) (俩个值来决定 对数阶)
var i = 1 //由i和2决定
 while(i<100){
 i*=2 
}
O(n) (由对应的一个值决定的 线性阶)
for(var i=0;i<100;i++){
console.log('我执行了'+i+'') 
}
O(nlogn) (循环嵌套对应的对数阶循环 线性对数阶)
for(var i=0;i<100;i++){ 
var j = 1 //由i和2决定 
while(j<100){
 j*=2 
}
}
O(n^2) (双层循环嵌套 平方阶)
for(var i=0;i<100;i++){ 
for(var j=0;j<100;j++){ 
console.log('我执行了'+j+'') 
} 
}
时间复杂度 O(1) < O(logN) <O(n)<O(nlogn)<O(n^2)

 

循环嵌套

 

/*
 * * * * * * * * * *
 * * * * * * * * * *
 * ** * * * * * * * 
 * * ** * * * * * *
 */
//外层控制行 内层循环控制列 
var row = 4 
var col = 10 
for(var i=0;i<row;i++){ 
var j = 0 
//每行的字符串 
var rowStr = "" 
while(j<col){
 j++
 //字符串拼接
 rowStr+='*' 
}
document.write(rowStr+"<br/>")
 }
//执行次数 外层循环次数*内层循环次数
continue
continue 跳过本次循环(只能在循环内使用)循环还在继续

 

 

 

 

 

posted on 2022-07-29 20:28  zzy扁桃体永不发言  阅读(46)  评论(0)    收藏  举报