js基础选择结构

选择结构

 

  1. 什么是流程控制

所谓流程控制,是控制程序的流向

 

    2.程序常见的结构

程序常见的结构无外乎就3种:顺序结构,选择结构,以及循环结构

 

顺序结构:代码一条一条从上往下,依次执行。

 

      3.选择结构

单分支

如果条件成立,那么就进入到分支条件里面,执行相应的代码,如果不成立就不进去。

使用的关键字为if

语法:

 if (条件) 

{

  //执行语句

}

 

If语句里面的花括号,如果只有一条语句,那么大括弧可以省略,但是不推荐

哪怕代码块里面只有一条语句,与最好将大括弧写上,这样易读性更高

 if  (1)

 {

  console.log("Hello World!");

}

双分支

所谓双分支,就是如果条件成立,进入代码块执行语句,否则进入另一个代码块执行语句

关键字:if...else

语法:

 if  (条件)

{

  //执行代码1

}

else{

  //执行代码2

}

双分支有一个简便写法:三目运算符

 

课堂练习:用户输入年龄,如果大于等于18岁,打印出你已经成年,否则打印你还是未成年

 let readline = require("readline-sync");

 console.log("请输入您的年龄:");

let age = parseInt(readline.question(""));

if(age >= 18)

{

  console.log("您已成年!");

}

else{

  console.log("您还未成年!");

}

课堂练习2:用户输入一个数,判断是否是5或者7的倍数,如果是,输出Yes,否则输出No

 

 let readline = require("readline-sync");

 console.log("请输入一个数:");

let num = parseInt(readline.question(""));

if(num%5==0 || num%7==0)

{

  console.log("YES");

}

else{

  console.log("NO");

}

 

多分支:

所谓多分支,就是指可以书写多个条件。如果某一个条件成立,那么就会进入相应的代码块

关键字:if...elseif...else

语法:

if(条件1)

{

  //执行代码1

}

else if(条件2)

{

  //执行代码2

}

 

else if(条件3)

{

  //执行代码3

}

else

{

  //执行代码4

}

主要需要注意的就是一旦某一个条件成立,那么执行该条件下相应的女代码块,但是后面的条件就不会再进行判断了

 

 

 

Switch语句

Switch语句其实就是相当于多分支语句(if..elseif..else)

语法:

 

示例:

let readline = require("readline-sync");

 console.log("请输入你要到几楼(1-3楼)");

 let stair = parseInt(readline.question(""));

switch(stair)

{

  case 1:

    console.log("1楼到了");

    break;

  case 2:

    console.log("2楼到了");

    break;

  case 3:

    console.log("3楼到了");

    break;

  default:

    conslole.log("输入有误");

}

Break作用:跳出switch

有些时候,我们故意不写break反而更方便,如下:

 

let readline = require("readline-sync");

 console.log("请输入今天是星期几");

 let day = parseInt(readline.question(""));

switch(day)

{

  case 1:

  case 2:

  case 3:

  case 4:

  case 5:

    console.log("今天是工作日");

  break;

  case 6:

  case 7:

    consloe.log("今天是周末");

  default:

    console.log("输入有误!,请重新输入:");

}

 

Default:也不是必须要写,我们书写default,只是为了一种预防措施。

 

在ES里面,和其他的静态语言不同的是,case后面的值不一定是常量,可以是变量甚至是表达式

 

相比if..else if...else,switch语句结构的易读性更高

posted @ 2017-11-05 22:53  守夜人_M2  阅读(625)  评论(0编辑  收藏  举报