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

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

时间:2023-11-04 16:26:50浏览次数:48  
标签:语句 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/JavaScript_3.html

相关文章

  • SpringCloud 基础
    SpringCloud基础微服务基础注意:此阶段学习推荐的电脑配置,至少配备4核心CPU(主频3.0Ghz以上)+16GB内存,否则卡到你怀疑人生。前面我们讲解了SpringBoot框架,通过使用SpringBoot框架,我们的项目开发速度可以说是得到了质的提升。同时,我们对于项目的维护和理解,也会更加的轻松。可见,Spr......
  • Lambda 表达式
    Lambda表达式参考文档:Lambda学会这几种即可【IT老齐289】Java语法中的方法引用::是什么?Java8新特性之二:方法引用Lambda使用场景Lambda只能使用在函数式接口,​什么是函数式接口:​就是一个​有且仅有一个抽象方法​,但是可以有​多个非抽象方法的接口。函数式接口可以被隐......
  • 关于切片的理解
    slice是一个引用类型,底层引用的是数组。每次扩容后都会指向一个新的底层数组,内存地址也随之改变。扩容规则:在不考虑内存对齐的情况下,1)如果切片的大小小于1024,同时翻倍后的大小可以支持所需的切片大小,则进行翻倍扩容;否则需要按照所需的切片大小进行扩容2)如果切片的大小大于10......
  • 数组的方法 属性
    数组的方法与属性属性 length数组的长度方法把数组变成字符串//varadd=['泰山','嵩山','华山','重阳宫','西安','洲子头'];//1.把数组变为字符串//add.toString();//console.log(add.toString());把数组用join拼......
  • 图解C/C++灵魂:指针变量
    1、指针变量的基本操作基本操作inta,*iptr,*jptr,*kptr;iptr=&a;jptr=iptr;*jptr=100;kptr=NULL;图解:1.1己址和己空间指针变量也是一个变量,对应一块内存空间,对应一个内存地址,指针名就是己址。这空内存空间多大?一个机器字长(machineword),32位的......
  • 课间10分钟可以做什么?
                                       ......
  • 学JAVA用PYTHON重写day02.2
    packageday02;importjava.util.Scanner;publicclassDemo02{/*条件分支*/publicstaticvoidmain(String[]args){/*if单分支*/System.out.println("if单分支>>>>>>>>>>>>......
  • 解题 [HNOI2008] GT考试
    题目:[HNOI2008]GT考试阿申准备报名参加GT考试,准考证号为\(N\)位数\(X_1,X_2…X_n\(0\leX_i\le9)\),他不希望准考证号上出现不吉利的数字。他的不吉利数字\(A_1,A_2,\cdots,A_m\(0\leA_i\le9)\)有\(M\)位,不出现是指\(X_1,X_2\cdotsX_n\)中没有恰好一段等于\(A_......
  • 求两个数的最大公约数的欧几里得算法
    上网查找什么是求两个数的最大公约数的欧几里得算法(辗转相除法),提交算法说明和网上链接。算法说明:1.两个正整数中,用大数除以小数求余2.再用其中的大数除以其中的小数求余,重复步骤直至余数为03.当余数为0时,取当前算式除数为最大公约数链接:欧几里得算法(辗转相除法)求最大公约......
  • Linux-系统权限管理
    frompixiv管理用户和组用户账户用户配置文件根据man的提示我们知道在/etc/passwd下如上这些字段的含义,需要注意的是在password这个字段都是x,即不显示密码第一个字段是用户名第二个字段是加密后的密码第三个字段是最后一次密码修改的日期距离1970年的天数......