JavaScript 03 (switch/三目运算符/while循环)

js中的switch选择结构,js中的三目运算符,js中的while循环

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

欢迎大家去我的个人技术博客看看,点赞收藏注册的都是好人哦~

https://xiaowu.xyz

目录:

一、switch选择结构

二、三目运算符

三、while循环


一、switch选择结构


switch(表达式){

    case 常量1:语句;break;

    case 常量2:语句;break;

    case 常量3:语句;break;

    …

    case 常量n:语句;break;

    default:语句;break;

}

      表达式的结果全等于哪个case的常量,则执行其后的语句,执行完break就跳出switch结构,都不满足则执行default的语句。

    break的作用:是跳出switch结构,如果没有break,则继续执行下面分支的的语句(而不进行判断)。


注意:

switch的括号后的变量,一定要全等于case的常量("1" != 1)

switch 的 穿透  ---如果不加 break,switch 将继续执行后面的语句(执行语句)  而不进行判断

Javascript中没有限制switch后面的表达式的结果是什么类型,C,C++java限制了表达式的结果类型

示例:

随机生成一个1-7的数字,根据值来输出是周几

var week = 1 + Math.round(Math.random() * 6);      //1-7

    console.log(week);

    switch (week) {

        case 1:

            document.write("今天是星期一
");

            break;

        case 2:

            document.write("今天是星期二
");

            break;

        case 3:

           document.write("今天是星期三
");

           break;

        case 4:

            document.write("今天是星期四
");

            break;

        case 5:

            document.write("今天是星期五
");

            break;

        case 6:

            document.write("今天是星期六
");

            break;

        case 7:

            document.write("今天是星期日
");

            break;

        default:

            document.write("week有误!
");

            break;

    }


switch的穿透演示

// switch 不加break 会向下穿透

随机生成一个0-100的数字,判断成绩的等级(大于等于60分都是及格,否则不及格)

var score = Math.round(Math.random() * 100);        //0-100

var level = parseInt(score / 10);                                // 0-10 console.log(score, level);

switch (level) {    //5

        case 10:

        case 9:

        case 8:

        case 7:

        case 6: document.write("及格"); break;

        case 5:

        case 4:

        case 3:

        case 2:

        case 1:

        case 0: document.write("不及格"); break;

        default:

            document.write("服务器出错");

            break;

    }


switch的灵活用法

可以将switch的变量的值为 true 来 达到类似于 if区间的效果

var score = Math.round(Math.random() * 100);        //0-100

console.log(score);

switch (true) {                         // 90

        case score == 100:        //false

            document.write(score + "666");

            break;

        case score >= 90://true

            document.write(score + "优秀");

            break;

        case score >= 80:

            document.write(score + "良好");

            break;

        case score >= 70:

            document.write(score + "一般");

            break;

        case score >= 60:

            document.write(score + "及格");

            break;

        case score < 60 && score >= 0:

            document.write(score + "不及格");

            break;

        default:

            document.write("服务器出错");

            break;

    }


二、三目运算符

三目运算符:

格式:

表达式1  ?  表达式2  :  表达式3

执行过程:先求解表达式1,若为非0(真)则求解表达式2,若表达式1的值是0(假),则求解表达式3。


示例:求两个数的最大数

//a    0-10

//b      0-10min    

//把a和b之间较小的值 赋值给 min

var a = Math.round(Math.random() * 10);  

var b = Math.round(Math.random() * 10);

var max = a > b ? a  : b;    //首先判断  a是否大于b  ,如果成立就返回a,否则就返回b


示例:求三个数的最大数

var a = 50;

var b = 60;

var c = 90;

var max = (a > b ? a  : b)  >  c   ?  (a > b ? a  : b)  :  c ;   

//首先判断  a是否大于b  ,如果a > b成立,就返回a,否则就返回b,然后判断 他们的返回值 是否大于c,如果大于c,就返回 他们的返回值,否则就返回 c,最后再把c赋值给max


示例:判断赋值

    // 三元运算符的判断赋值 (它是运算符)

    var result = null;

    result = (score >= 60 ? score + "及格" : score + "不及格");


三、while循环

 程序的三大流程控制

    1. 顺序结构

     2. 选择结构

     3. 循环结构  重复的做一件事

     循环  沿着 圆环  =>  循环往复

     其特点是在给定条件成立时,反复执行某程序段,直到条件不成立为止。

     循环  在满足某种特定条件的情况下 重复的执行某段操作  直到 条件不满足为止


    循环的分类

        while循环

        do…while循环

        for循环

while循环

语法格式:

  while(表达式)

  {

      语句;

  }


注意:

1、先判断表达式,表达式成立后执行语句。

2、循环条件中使用的变量(循环变量)需要经过初始化。

3、循环体中,应有结束循环的条件,否则会造成死循环。

4、循环体中可以写若干句合法的javaScript代码,包括if,也可以再套个循环语句。

    

循环的三要素 (一些写循环的技巧 并不适用于所有的循环)

    1. 初始值 

    2. 循环的条件 

    3. 自增或自减 

var i = 1; // 初始值

    while (i <= 100) { //循环条件

        document.write(i + "我是打印的文字
");

        i++;

    }

    document.write("此时的i是:" + i);


示例:打印1-100的值

var i = 1;

    var sum = 0;

    while (i <= 100) {

        // console.log(i); // 每次循环的  值  1  2  3

        sum += i;

        i++;

    }

    document.write("1-100的和是" + sum);


示例:

打印图形

        * * * * * * * * * *

        * * * * * * * * * *

        * * * * * * * * * *

        * * * * * * * * * *

    var i = 1;

    while (i <= 40) {

        document.write("*");

        if (i % 10 == 0) {

            document.write("
");

        }

        i++;

    }


打印100以内的偶数和

var i = 1;

    var sum = 0;

    while (i <= 100) {

        if (i % 2 == 0) {

            document.write(i + "
");

            sum += i;

        }

        i++;

    }

    document.write("1-100的偶数和" + sum) ;


示例:打印100以内的奇数

    var i = 1;

    while (i <= 100) {

        if (i % 2 == 1) {

            document.write(i + "
")

        }

        i++;

    }


循环嵌套练习

        打印图形

        * * * * * * * * * *

        * * * * * * * * * *

        * * * * * * * * * *

        * * * * * * * * * *

外层 j 打印多少次

    var j = 1;

    var i = 1;

    while (j <= 4) {

        // 打印一行  i  每一行打印多少个*

        while (i <= 10) {

            document.write("*");

            i++;

        }

        document.write("
");

        j++;

    }

循环的结构相对复杂,所以需要多多练习从来深刻的理解循环的运行逻辑

你可能感兴趣的:(JavaScript 03 (switch/三目运算符/while循环))