三种循环的讲解

一、了解循环

  1. JS循环的概念
    循环就是重复做一件事,  在程序中指的是重复执行某段代码.. 不成立为止.
    如: 大家每天早上7点起床, 9点上课, 12点吃饭, 19点晚自习, 21点下课, 23点睡觉, 第二天又重复7点起床, ….. ,  直到毕业找到工作就可以跳出这个循环.
    2.死循环的概念
    死循环就是重复执行代码, 不会停止.
    死循环会造成程序卡死甚至崩溃等问题,  我们不能写会造成死循环的代码.
    3.循环的用处
    循环的用处非常广泛, 特别是对大量的数据进行操作的时候,
    如:求若干个数之和; (重复做加法)
    求某个班全部学生的总成绩;(重复做加法)

4.循环的分类

循环有很多种方式, 如: while, do-while, for, for-in, for-each等.

这里我们先介绍最常见的,也是很多其他计算机语言通用的三种方式:

1). while循环 2). do-while循环 3). for循环

二、常用的循环语句

1.while 循环

while循环语法格式:

while(表达式)

{

执行代码;

}

注意:1, while循环必须按照上述语法格式来写, 只能更改表达式内容和执行代码.

2, 表达式可以是常量,变量或者其他表达式,该表达式会被强制转换为boolean类型, 可以理解表达式就是循环 的条件, 条件成立则进入括号{}里面执行代码,否则不进入;

3, 执行代码可以有多行, {}所包含的称为循环体.

4, 表达式不要一直是true, 避免死循环.

5. while循环的顺序是: 先判断表达式是否为true, 若true则执行执行代码, 然后再继续判断表达式是否为true, …. 直到判断表达式为false才会跳出循环, 执行while后面的代码

重点案例

// 计算1~100之间所有整数的和
var num = 0;
var num2 = 0
while (num<100){
  num++
  num2=num+num2
}
console.log(num2);
// 1.打印人的一生,从1岁到100岁
var nun = 1;
while(nun<=100){
  console.log(nun+'岁');
  nun++
}
<!-- 3.弹出一个提示框,你爱我吗?如果输入我爱你,就提示结束,否则,一直询问。 -->
  <script>
  var nun = prompt('你爱我吗?');
while(nun!="我爱你"){
  var nun = prompt("你爱我吗?")
}

2.for循环

1.for循环语法格式:

for (初始化变量; 条件表达式; 操作表达式) {

执行代码;

}

1. 初始化变量 就是用var 声明一个普通变量,通常用于作为计数器使用

2 .条件表达式 就是用来决定每一个循环是否执行 就是终止的条件

  1. 操作表达式 是每次循环最后执行的代码 经常用于计算器变量进行更新(递增或者递减)

注意: 1, 表达式1: 可写循环初始值, (可以不填)

2, 表达式2: 循环条件

3, 表达式3: 循环增量(减量)

4, 两个分号必须写.

2.示例:计算1+2+3+……+100之和。

for循环将 循环初始值, 循环条件, 循环变量增量写在了一起注意: 三个表达式都是可选填写, 但是如果后两个不写,会造成死循环; 而第一个为初始化值,所以我们三个一般都要写上.

3.循环的嵌套

一个循环语句内又包含另一个完整的循环语句;

三种循环都可以相互嵌套; 而for循环嵌套for循环的使用会更频繁, 以下的循环嵌套都是合法的.

for循环案例

// 弹出输入框输入总的班级人数(num )
// 依次输入学生的成绩(保存起来score ),此时我们需要用到for循环,弹出的次数跟班级
// 总人数有关系条件表达式i<= num
// ③进行业务处理:计算成绩。先求总成绩 ( sum ),之后求平均成绩( average )④弹出结果
var ret = 0;
var pjz = 0;
var num = prompt('请输入')
for (var i = 1; i <= num; i++) {
  var nue = prompt('亲您输入' + i + '学生成绩')
  //因为从prompt转传来的是字符串所有我们应该把它转换成数值型
  ret =parseInt(nue) + ret

} pjz = ret/num;
alert('班级的总成绩是:'+ret);
alert('班级的品均值是:'+pjz);

三、双层for循环

1. 双层for循环 语法结构

for(外层的初始化变量;外层的条件表达式;外层的操作表达式){
  //     for(里层的初始化变量;里层的表达式;里层的操作表达式){
  //         执行语句
  //     }
  // }

1.我们可以把里面的循环看做是外层循环的语句

2.外层循环一次,里面的循环执行全部

4. 代码验证

for (var i=1;i<=3;i++){
  console.log('这是外层循环的第'+i+'次');
  for(var j=1;j<=3;j++){
    console.log('这是里面的循环的第'+j+'次');
  }
}

案例】

九九乘法表案例

var num = '';
for (var i = 1; i <= 9; i++) {
  for (var j = 1; j <= i; j++) {
    num += j + 'x' + i + '=' + j * i+'\t';
  }
  num += '\n'
}
console.log(num);

for循环打印五颗星星

// 用for循环打印5颗星星
var str = '';
for (var i = 1; i <= 5; i++) {
  str = str + '*';


}
console.log(str);
var unm = prompt('请输入')
var str = '';
for (var i = 1; i <= unm; i++) {
  str = str + '*';
}
console.log(str);

打印五行五列+输入多少行列打印多少

打印5行5列星星

var num2 = '';


for(var i =1; i<=5;i++){
  for(var j=1;j<=5;j++){
    num2 = num2+' * ';

  }
  num2= num2+'\n'
}
console.log(num2);



var num = prompt('请输入您打印的行数')
var num2  = prompt('请输入你要打印的列数')
var lie = '';
for(var i=1;i<=num;i++){
  for(var j=1;j<=num2;j++){
    lie=lie+'*';
  }
  lie=lie+'\n';
}
console.log(lie);

do while 循环

1.语法结构

do{
  //循环体
}while(条件表达式)

2.执行思路 跟while不同的地方在于都while先执行一次循环再判断条件 如果条件表达式结构为真,则继续执行循环体。否则退出循环

3.代码验证

do while 是先执行后判断 最少执行一次 (常用于人机交互)

while是先判断后执行 最少执行0次(对应的循环处理)

break和continue

break是用于跳出 他可以跳出对应的switch块以及对应的循环块(跳出来了也是意味着本次对应的循环或对应的代码执行结束了)

contiue是用于跳过某个循环 下次循环继续执行

时间复杂度概述

在恒定的环境内,他的执行次数对应的变量的比列构成的值为时间复杂度。时间复杂度是一定程度上表示当前的程序的运行速度,时间复杂度降低那么运行速度就越快,还有一个就是我们需要考虑的时间复杂度,空间复杂度是指你的程序在运行的时候开辟的内存大小,空间复杂度越低占用的内存就越少(内存不再优先考虑)

总结

从上可得 循环嵌套不会超过俩次!从对应得时间复杂度来看 我们可以得到logn和n是比较性常用得 我们发现logn是比n要快得,所以在后续得优化中我们采用logn级别得时间复杂度来替代n。对于for循环和while循环 对应得时间复杂度来说while要快于for循环,用while来替代for循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值