概念:重复执行一段代码(while、do while、for)
注:1)、避免死循环 2)、提高效率(减少时间复杂度)
循环三要素:初始值、迭代量、条件
1、while(条件表达式返回true或false){
执行代码
}
var 初始值变量=值
while(条件){
迭代量
执行代码
}
自旋:while(true)生成一万个订单编号,不能重复,生成编号的代码无限去生成,直到有一万个不重复的订单编码才出去
2、do while(对应的while唯一的区别是先做,后判断,意味着最少走一次)
while与do while的区别
1)、while是先判断后执行,do while先执行再判断
2)、do while最少执行,while至少执行0次
3)、常用while来写一些执行多次的内容(最少没规定) do while(规定必须要执行的时候)
3、for循环(常用)
for (初始值;条件;迭代量){
执行代码;
}
面试题:for(;;)这样写错了吗?
正确,意味着对应里面的内容可以被省略,死循环,省条件,迭代量必定是死循环
4、时间复杂度
概述:从传统意义上,对应的代码时间复杂度越低,对应执行速度越快(效率越高)
1)一行只执行一次:O(1)
2)O(logN)
3)O(n)
4)O(nlogN)由两个值决定
5)O(n^2)循环嵌套
时间复杂度效率:由上至下,依次降低(不要看次数,要看由什么决定时间复杂度)
注:while时间复杂度低于for循环(算法优化可以使用while来替代for循环)
5、break
break跳出代码块(switch以及循环)只会跳出当前break所在层,break后面的内容不会走
6、continue
continue跳过本次循环,只能在循环内使用,循环还在继续