循环控制语句

循环控制语句

while ,do while , for

三要素:初始值(初始的变量值),迭代量(基于初始值的改变),条件 (基于初始值的判断)

while语句

while (条件表达式){

执行代码}

var 初始值变量=值

while(条件){

迭代量

执行代码}

例:循环打印1-10

var i=1;

while(i<=10){ //11次

console.log(i) //10次

I++}

自旋:

 

do-while语句

do {执行的代码}while(条件)

var 初始值=值

do {

执行的代码

迭代量变化}while(条件)

与while区别:先执行后判断,少判断一次

1-100累加:

var i=0;

var sum=0

do {

i++

sum +=i}while(i<100)

console.log(sum);

while和do while区别:

1.while先判断后执行,do while 先执行后判断

2.do while最少执行一次,while最少执行0次。故常用while实现执行多次的内容(不规定最少执行次数)do while (规定必须执行一次时)

for循环

for(初始值;条件;迭代量){

执行代码}

1-100累加:

for(var i=0;i<=100;i++){

sum +=1}

console.log(sum);

 

附:for(;;){

coonsole.log("hello")

//死循环 省略条件和迭代量必定死循环}

初始值可以省略不写for(;i<100;i++)

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

O(1):每行只执行一遍 常量阶

O(logN):由两个值来决定次数 指数阶

var i=1; 由i和2决定

while(i<100){

i*=2}

O(n):由对应的一个值决定 线性阶

for(var i=0;i<100;i++){

console.log('执行'+n+'遍')}

 

传统意义上,对应的代码时间复杂度越低对应的执行速度越快,效率越高。

while的时间复杂度低于for循环:(故而算法优化可使用while来替代for)

 

var i= 0;执行一次

i++;执行一次

console.log("hello")执行一次 O(3)

console.log("hello")执行一次 //都是数值次数

var i=0 执行一次 n 依赖这个n变化而变化

while(i<10){ 执行11次

i++ 执行10次

console.log(i) 执行10次

} //O(n) 线性阶

var i=2;

while(i<100){

i*=2}

O(2logN) O(logN)

O(1)<O(logN)<O(n)<O(nlogn)<O(n^2)
O(nlogn):循环嵌套指数阶循环

for(var i=0;i<100;i++){

var i=1

while(i<100){

i*=2

}}

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+=“*”

}

console.log(rowStr)//document.wirte(rowStr+" ")

}

//执行次数,外层循环次数*内层循环次数 O( n^2)

循环嵌套最宜嵌套两层,不推荐嵌套多层,会增加太多的时间复杂度

break和continue

break:在多层循环中只跳出当前的一层,,如果已执行break语句就不会再执行循环体中位于break后的语句。

continue:跳过本次循环,循环仍在继续,只能在循环中使用

posted @   岁新  阅读(86)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示