首页 > 其他分享 >4 . 分支结构--循环结构

4 . 分支结构--循环结构

时间:2023-11-04 16:11:19浏览次数:32  
标签:语句 case console log -- break 循环 结构 分支

1. 分支结构

1.1 if语句

1.1.1 if (条件) { 语句1 }

根据条件来有选择性的执行某些代码

if(2>1){ // 判断 2>1 是否成立,如果成立则执行花括号里的代码,否则跳过
    console.log('众所周知,2比1大');
}

1.1.2 if (条件) { 语句1 }else { 语句2 }

if(2<1){//判断 2<1 是否成立
    console.log('2小于1');// 如果成立执行这里的代码
}else{
  console.log('2不小于1');// 如果不成立执行这里的代码
}

1.1.3 if (条件) { 语句1 } else if (条件) { 语句2 } else { 语句3 }

if(2<1){//判断 2<1 是否成立
    console.log('2小于1');// 如果成立执行这里的代码
}else if(2==1){// 否则, 再判断 2==1 是否成立
  console.log('2等于1');// 如果成立执行这里的代码
}else if(2>1){// 否则, 再判断 2>1 是否成立
  console.log('2大于1');// 如果成立执行这里的代码
}
// ...
​
else {// 如果上边所有的条件都不成立
    console,log('2不大于1,不小于1,不等于1。')
}
  • 其中的(条件)可以是任意表达式;而且对这个表达式求值的结果不一定是布尔值。ECMAScript会自动调用Boolean()转换函数将这个表达式的结果转换为一个布尔值

  • 如果对(条件)求值的结果是true,则执行(语句1),如果对(条件)求值的结果是false,则执行(语句2)。而且这两个语句既可以是一行代码,也可以是一个代码块(以一对花括号括起来的多行代码)

  • 对于if..else语句,如果要执行的语句只有一条,可以不使用“{}”,但这种写法并不推荐。

 

1.2 三元运算符

语法:

条件 ? 语句一 : 语句二

当条件的值为true,执行语句一;当条件的值为false,执行语句二。

例1:输入一个大于等于0小于60的整数,如果输入的数字小于10,则在数字前添个0,否则保持不变

var num = 3
num = num<10?'0'+num:num;

1.3 switch语句

定义:

用于进行多次判断的switch语句

语法:

switch(表达式) {
    case 常量1: 语句1
        break;
  case 常量2: 语句2
        break;
    case 常量3: 语句3
        break;
    default: 语句4
}

switch语句中的每一种情形(case)的含义是:“如果表达式等于这个常量,则执行对应的后面的语句 ”。而break关键字会导致代码执行流跳出switch语句。如果省略关键字break,就会导致执行完当前case以后,继续执行下一个case。最后的default关键字则是用在表达式不匹配前面任何一种情形的时候,执行机动代码。

例:

根据输入的数字返回今天是周几,0代表周日,1~6代表周一到周六

var day = 5;
switch(day){
    case 0: 
    console.log('今天周日');
    break;
    case 1: 
    console.log('今天周一');
    break;
    case 2: 
    console.log('今天周二');
    break;
    case 3: 
    console.log('今天周三');
    break;
    case 4: 
    console.log('今天周四');
    break;
    case 5: 
    console.log('今天周五');
    break;
    case 6: 
    console.log('今天周六');
    break;
  default:
    console.log('请输入0~6之间的数字')
}

1.4 比较switch与多重if结构

  • 相同点:都可以实现多重分支机构

  • 不同点:

    • switch:只能处理等值的条件判断,且条件是整型变量或字符串变量的等值判断

    • 多重if:处理在else部分还包含其他if结构,特别适合某个变量处于某个区间的情况

4. 循环语句

定义:

循环用来指明当某些条件保持为真时要重复的动作。当条件得到满足时,就跳出循环语句。在 JavaScript 中有四种循环结构可用。

4.1 for语句

定义:

  • 前测试循环语句,也就是说,在循环体内的代码被执行之前,就会对出口条件求值。

    for 语句指定了一个计数器变量,一个测试条件,以及更新该计数器的操作。在每次循环的重复之前,都将测试该条件。如果测试成功,将运行循环中的代码。如果测试不成功,不运行循环中的代码,程序继续运行紧跟在循环后的第一行代码。在执行该循环后,计算机变量将在下一次循环之前被更新。

语法:

for(语句1; 语句2; 语句3) {
    语句;
}

解释:

1.for循环的圆括号里面须放三个句子,分别是1.初使化计数器 2.判断条件 3.更新计数器

2.for语句中的初始化表达式、控制表达式和循环后表达式都是可选的。将这三个表达式全部省略,就会创建一个无限循环。

4.2 while语句

定义:

也是前测试循环语句

语法:

// 打印0~9之间的整数;
var i = 0;
while(i<10){
    console.log(i);
  i++;
}

4.3 do-while语句

定义:

后测试循环语句,也就是说,只有在循环体中的代码执行之后,才会测试出口条件。换句话说,在对条件表达式求值之前,循环体内的代码至少会被执行一次。

语法:

do {
     语句;
} while(条件)

do..while循环与while循环不同之处: 在于它至少将代码块中的代码执行一次。

4.4 break和continue语句

break 和 continue 语句的不同之处:

  • break 语句可以立即退出循环,阻止再次反复执行任何代码。

  • 而 continue 语句只是退出当前循环,根据控制表达式还允许继续进行下一次循环。

标签:语句,case,console,log,--,break,循环,结构,分支
From: https://www.cnblogs.com/c-pp/p/17809468.html

相关文章

  • qt---主进程加载一个子进程的方法以及其中遇到“Calling a private constructor of cl
    .proQT+=coreguigreaterThan(QT_MAJOR_VERSION,4):QT+=widgetsCONFIG+=c++17#YoucanmakeyourcodefailtocompileifitusesdeprecatedAPIs.#Inordertodoso,uncommentthefollowingline.#DEFINES+=QT_DISABLE_DEPRECATED_BEFORE=0......
  • 3 . 运算符
    比如说+、*、/、(都是运算符,而(3+5)/2则是表达式。运算符有很多分类:1、算术运算符*+-*/%(取余符号)2、关系运算符<>=<===!====!==3、逻辑运算符&&||!4、一元运算符++--5、赋值运算符<1>基本赋值运算符=<2>复合赋值运算符+=-=一元运算符如果......
  • 静电场中的导体
    静电平衡处在电场中的导体,其内部的电荷会受到外部电场的作用,从而使得电荷分布发生变化。用高斯公式和反证法等可得出,处于该状态下的导体电荷之分布在内外表面,导体内部场强为0,整个导体是一个等势体,此状态称之为静电平衡导体表面电荷分布如图在导体表面做一个小的圆柱,通过高斯......
  • 2023-2024-1 20231410刘珈岐 《计算机基础与程序设计》第六周学习总结
    2023-2024-120231410刘珈岐《计算机基础与程序设计》第六周学习总结作业信息这个作业属于哪个课程(https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP)这个作业要求在哪里(https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP/homework/12754)这个作业......
  • 扩展欧几里得算法模板
    扩展欧几里得算法问题:给定两个非零整数$a$和$b$,求一组整数解$(x,y)$,使得$ax+by=gcd(a,b)$成立($gcd(a,b)$是a、b的最大公约数)。设$$\begin{aligned}ax_1+by_1&=gcd(a,b)\bx_2+(a%b)y_2&=gcd(b,a%b)\end{aligned}$$化简,得递推公式:$$\begin{aligned}&x_1=y_2\&y......
  • 封装函数
    //编写程序,获取数组中的最大值//functionarr(arr){//varmax=[];//for(vari=0;i<arr.length;i++){//if(arr[i]>max){//max=arr[i]//}//}//returnmax;//......
  • Java基础之面向对象
    面向对象什么是面向对象?面向对象与面向过程的区别是什么?什么是面向对象?面向对象,就是数据和数据的操作放到一个整体----对象,通过对象来实现某些操作面向对象与面向过程的区别是什么?面向过程是一步一步实现方法,从来实现某些操作。它们两者自己的区别可以用一个大象放冰箱的例......
  • 说说 Bean 的生命周期
    说说Bean的生命周期(29条消息)Spring中bean的生命周期_kykangyuky的博客-CSDN博客解题思路得分点SpringBean生命周期的四大部分以及详细步骤标准回答Bean的生命周期主要包括:Bean定义,Bean初始化,Bean生存期,Bean销毁。具体步骤如下Spring启动,需要查找并加载,Spring管......
  • 服务端java接口程序接收到data参数时,中文会变成乱码,这样处理
    学习记录。场景:服务端java接口程序,在接收到请求包,data参数中包含中文,请求时用的编码是UTF-8,但收到后会变成乱码尝试:试了很多办法,包括:Stringbody=IOUtils.toString(request.getInputStream(),StandardCharsets.UTF_8);都无济于事解决:增加系统......
  • 2.数据类型
    2.1变量声明关键字varletconst2.1.1变量存储变量是对字面量的存储,当我们想要反复使用某个字面量时,可以使用变量存储,下次直接使用变量名即可,不需要再去创建一个新的字面量。如果我们要弹出三次的HelloJavaScript字符,那么我们就需要使用以下代码alert("HelloJav......