循环语句

循环包含三大语句-----while语句 do while语句 for语句

循环三要素

初始值(初始的变量值)

迭代量(基于初始值的改变)

条件(基于初始值的判断)

while语句
  1. var 初始变量值 =
  2. while(条件){
  3. 迭代量
  4. 执行的代码
  5. }
示例
  1. //打印1-10
  2. var i=1
  3. whilei<=10){
  4. console.log(i)
  5. i++
  6. } //时间复杂度 O(n)
do while(对于while的区别是先做后判断 至少执行一次)
  1. var 初始值=
  2. do{
  3. 执行的代码
  4. 迭代量的变化
  5. }while(条件)
示例
  1. //1到100的和
  2. var i=0
  3. var sum=0
  4. do{
  5. i++
  6. sum+=1
  7. }whilei<100
while 和 do while区别
  • while是先判断后执行 ;do while先执行后判断
  • do while最少执行一次; while至少执行0次
  • 常用while来写一些执行多次的内容(最少没规定) do while(规定必须要执行的时候)
for循环(常用)
  1. for(初始值;条件;迭代量){
  2. 执行的代码 //跟if一样如果执行的代码只有一行可以省略{}
  3. }
示例
  1. var sum= 0
  2. forvar i=0i<=100;i++){
  3. sum+=i
  4. }
如果for(;;)这样写错了吗?

没错 (里面的内容可以省略以及提出)但省略条件和迭代量是死循环!!!一定要避免!!!

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

概述:从传统意义上对应的代码时间复杂度越低对应的执行速度越快

O(1) (每行只执行一边遍 )
  1. var i= 0
  2. i++
  3. ifi<10){
  4. console.log(i)
  5. }
O(logN) (两个值决定 )
  1. var i = 1
  2. while(i<100){
  3. i*=2 // 由i和2决定
  4. }
O(n) (由对应的值决定)
  1. forvar i = 0;i<100;i++){
  2. console.log('我执行了'+i+'遍')
  3. }
O(nlogN)(循环嵌套对应的对数阶循环 )
  1. forvar i=0;i<100;i++){
  2. var j=1
  3. whilej<100){
  4. j*=2
  5. }
  6. }
O(n^2)(双层循环嵌套 )
  1. forvar i = 0;i<100;i++){
  2. forvar j = 0;j<100;j++){
  3. console.log('我执行了'+j+'遍')
  4. }
  5. }

时间复杂度O(1) < O(logN) < O(n) < O(nlogN)< O(n^2)

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

循环嵌套(一般最多套两层,不然时间复杂度过高)

循环嵌套:一个循环语句内又包含另一个完整的循环语句;
三种循环都可以相互嵌套; 而for循环嵌套for循环的使用会更频繁
示例:打印下方长方形
  1. * * * * * * * * * *
  2. * * * * * * * * * *
  3. * * * * * * * * * *
  4. * * * * * * * * * *
  5. //外层循环控制行 内层循环控制列
  6. var row = 4
  7. var col = 10
  8. for(var i=0;i<row;i++){
  9. var rowStr = "" //每行的字符串
  10. var j = 0
  11. while(j<col){
  12. j++
  13. rowStr+='*' //字符串拼接
  14. }
  15. document.write(rowStr+"<br/>")
  16. }
  17. //执行次数:外层循环次数*内层循环次数
示例

  1. for(var i=0;i<5;i++){
  2. //内层的循环条件依赖于外层
  3. var str = ''
  4. for(var j=0;j<=i;j++){
  5. str += '*'
  6. }
  7. document.write(str+"<br/>")
  8. }
break

break 跳出代码块(switch以及循环中,不会跳if)只会跳出当前break循环层,当前循环结束(跳一层)

示例1
  1. // 判断一个数是不是合数。(指自然数中除了能被1和本身整除外,还能被其他的数整除(除0外)的
  2. 数。)
  3. var number = prompt()
  4. //判断是否他有可以被除自身和1之外整除的数
  5. for(var i=2;i<number;i++){
  6. if(number%i==0){
  7. console.log("当前数为合数");
  8. break;
  9. }
  10. }
  11. // 判断一个数是不是素数。(除了1和它本身以外不再有其他的除数整除。)
  12. //得到个数
  13. var count = 0
  14. for(var i=2;i<number;i++){
  15. if(number%i==0){
  16. count ++
  17. break;
  18. }
  19. }
  20. if(count==0){
  21. console.log('当前值为素数');
  22. }
  1. 示例2
  2. //看代码判断打印的内容
  3. var number //undefined
  4. for(var i=0;i<3;i++){ //i 0 1 2
  5. for(var j=0;j<i;j++){
  6. if(i==1 || j>=1){
  7. number = i*j
  8. console.log(j);//0 1
  9. break
  10. console.log(i);//break后面的内容不会走
  11. }
  12. }
  13. console.log(number);//3次 undefined 0 2
  14. }
  15. //undefined 0 0 1 2
continue

continue跳过本次循环,开始下一次循环(只能在循环内)

  1. // 1,求整数1~100的累加值,但要求跳过所有个位为3的数。
  2. var sum = 0 //接收对应的累加值
  3. for(var i=1;i<=100;i++){
  4. if(i%10==3){
  5. continue //遇到continue跳过本次开始下一次循环
  6. }
  7. sum+=i
  8. }
  9. console.log(sum);

while,do while,for循环语句的更多相关文章

  1. 【python之路4】循环语句之while

    1.while 循环语句 #!/usr/bin/env python # -*- coding:utf-8 -*- import time bol = True while bol: print '1 ...

  2. python之最强王者(3)——变量,条件、循环语句

    1.Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的 ...

  3. #9.5课堂JS总结#循环语句、函数

    一.循环语句 1.for循环 下面是 for 循环的语法: for (语句 1; 语句 2; 语句 3) { 被执行的代码块 } 语句 1 在循环(代码块)开始前执行 语句 2 定义运行循环(代码块) ...

  4. 详解Python中的循环语句的用法

    一.简介 Python的条件和循环语句,决定了程序的控制流程,体现结构的多样性.须重要理解,if.while.for以及与它们相搭配的 else. elif.break.continue和pass语句 ...

  5. 【java开发】分支语句、循环语句学习

    一.Java分支语句类型 if-else 语句 switch 关于if-esle语句可以拆分为三种 if语句 if(条件){语句块;} if-else语句if(条件语句){语句块;} if-else ...

  6. python3循环语句while

    Python的循环语句有for和while语句,这里讲while语句. Python中while语句的一般形式: while 条件判断 : 语句 需要注意冒号和缩进.另外,注意Python中没有do. ...

  7. 20.SqlServer中if跟循环语句

    --if语句declare @i int begin print @i end else --循环语句 declare @i int begin insert into grade(classname ...

  8. Python学习【第五篇】循环语句

    Python循环语句 接下来将介绍Python的循环语句,程序在一般情况下是按顺序执行的. 编程语言提供了各种控制结构,允许更复杂的执行路径. 循环语句允许我们执行一个语句或语句组多次. Python ...

  9. iOS -Swift 3.0 -for(循环语句用法)

    // // ViewController.swift // Swift-循环语句 // // Created by luorende on 16/12/08. // Copyright © 2016年 ...

  10. Python--While循环语句

    Python While循环语句 Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务.其基本形式为: while 判断条件: 执行语句 ...

随机推荐

  1. mybatis plus 的 ActiveRecord 模式

    实体类继承 Model public class Test extends Model<Test> implements Serializable {} 就可以 new Test().in ...

  2. 905. Sort Array By Parity - LeetCode

    Question 905. Sort Array By Parity Solution 题目大意:数组排序,偶数放前,奇数在后,偶数的数之间不用管顺序,奇数的数之间也不用管顺序 思路:建两个list, ...

  3. python之re模块补充和其他模块(collection、time、queue、datetime、random)

    目录 re模块补充说明 collections模块 queue模块 time模块 datetime模块 random模块 re模块补充说明 在正则表达式中,'()'的作用是进行分组,但是在re模块中, ...

  4. CF1485E Move and Swap

    题意:Move and Swap 很好的题呢 n个节点的树,根为1,所有叶子的深度都是D,一开始根节点上有两个颜色分别微R,B的球,你执行下列操作D-1次: 1.R点跳到子树内 2.B点跳到下一层的任 ...

  5. C#与SQL Server连接时,如何编写连接字符串?

    一.Windows身份验证时: String conStr = "Data Source=数据库服务器地址;Initial Catalog=数据库名称;Integrated Security ...

  6. TypeScript(5)类、继承、多态

    前言 对于传统的 JavaScript 程序我们会使用函数和基于原型的继承来创建可重用的组件,但对于熟悉使用面向对象方式的程序员使用这些语法就有些棘手,因为他们用的是基于类的继承并且对象是由类构建出来 ...

  7. gulp入门第一课你需要注意的

    安装 1.首先确保你已经正确安装了nodejs环境.然后以全局方式安装gulp. npm install -g gulp 2.初始化项目. npm init 3.如果想在安装的时候把gulp写进项目p ...

  8. key可重复的Map

    在正常的map操作中,key是不能重复的,如果希望key的内容可以重复,可以用IdentityHashMap 举个栗子 输出结果: public static void main(String[] a ...

  9. windows系统下.NET CORE c# 通过bat脚本发布iis应用程序,半智能点击式ci/cd

    这里以git为例子讲解: 第一个 pullCode.bat 文件是 拉取代码 git pull 第二个 publish.bat 脚本,编译代码,并发布指定文件夹 dotnet publish &quo ...

  10. STC8H开发(十二): I2C驱动AT24C08,AT24C32系列EEPROM存储

    目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...