循环控制语句
概述
- 循环控制语句是对应的控制语句中控制对应的代码重复执行的一个语句。它主要的作用是重复执行一段代码。
- 循环控制需要避免死循环,死循环会导致内存溢出(卡死)。
循环控制语句的分类
- while
- do while
- for
循环控制语句的三要素
- 初始值
- 迭代条件(初始值的基础上迭代)
- 循环体
- 终止条件(布尔类型表达式 返回的是Boolean的值(强制转换为Boolean类型))
while循环
声明一个初始值
var 初始值 = 值
while(循环条件){
循环体 (需要执行的代码)
迭代值
}
- var 关键词修饰的变量进行变量提升 伪全局变量
- var关键词修饰的变量会被预编译 但是不会读取赋值操作 而是强制赋值undefined
- 在循环中不建议声明变量 会覆盖之前的值 会加大空间复杂度
do while 最少执行一次
基础使用
声明一个初始值
var 初始值 = 值
do{
循环体
迭代值
}while(循环条件)
while和do while的区别
- while是先判断后执行 最少执行0次
- do while是先执行后判断 (最少执行一次)
- do while常用于先执行对应的内容再判断是否循环(人机交互)
for
基本使用
for(var 初始值;循环条件;迭代量){ 循环体 }
for(;;) 也为for循环 死循环
循环嵌套
任意循环可以互相嵌套 (for循环可以嵌套while 和 dowhile 及 for ...),嵌套可以多层,一般建议最多 嵌套俩层(效率)。
while(条件){
while(条件){
循环体
}
}
for(var 初始值;循环条件;迭代量){
for(var 初始值;循环条件;迭代量){
循环体
}
}
- 循环嵌套时间复杂度会增加(不建议嵌套超过两层)
- 循环嵌套执行的次数为外层循环次数*内层循环次数
循环中的关键词
- break 跳出循环 (跳出switch块)
- continue 跳过本次循环 进入下一次
循环总结
- 循环主要做的是反复执行一段代码,它必须要具备三要素 初始值、 迭代量、 循环条件。
- 循环需要避免死循环,死循环会导致内存溢出。
- 任意循环之间可以互相嵌套,一般建议最多嵌套俩层(嵌套越多效率越低)
- 三种方法可以随意转换 常用的为for和while
- while 用于处理不知道对应的循环次数 for循环常用于知道对应的执行次数
- do while最少执行一次(先执行后判断)
- while循环的时间复杂度低于for循环
- break是用于跳出当前循环,continue是用于跳过本次开启下一次。
- while及for死循环写法
复杂度
复杂度是属于数据结构思想中的一个衡量对应的性能和效率的单位。主要划分为俩块分别为时间复杂度 和空间复杂度。
时间复杂度
在恒定的机器环境的运行时间和执行次数的比例称为时间复杂度。时间复杂度主要用于衡量对应的执行 速度。一般用O表示。
时间复杂度划分
- 常数阶o1
- 线性阶ologn
- 对数阶 on
- 线性对数阶onlogn
- 平方阶on^2
- 立方阶 on^3
- k次方阶on^k 时间复杂度的优先级 (越低的越好) O1 < Ologn < On < OnLogn < On^2 < On^3 < On^k ...
空间复杂度
在恒定的机器环境内容运行代码开启的内存(开启的内存)和对应的空间的比例。主要衡量对应的内存 消耗。