javaScript学习笔记(三)「switch语句」、「断点」、「三目运算」、「while循环」、「for循环」

  1. switch语句

       swicth语句结构:

            switch (key) {

            case value:

                break;

            case value:

                break;

            case value:

                break;

            default:

                break;

        }

    var x = prompt('请输入选项 A-D');
        switch (x) {
            case 'A':
                alert('A选项')
                break;
            case 'B':
                alert('B项')
                break;
            case 'C':
                alert('C选项')
                break;
            case 'D':
                alert('D选项')
                break;
            default:
                break;
        }

    认识单词:

          swicth(选择,转换)   case(选项)

          break:终止,停止

          value:值

          default:默认的

        注意点:1. switch 后的key一般是一个变量

               2. case后一般就是一个值,"1"   1

               3. 没有break不会中断

               4. switch语句体内部,可以嵌套一些if语句,或者for都可以

        执行流程:

              1. 拿switch后的key和case后的value进行全等比对(===)

              2. 匹配到的,就执行对应的代码段,依次向下,遇到break终止

              3. default: 当条件都不满足会走default

    //输入月份查询当月天数
    var x = prompt('请输入选项 月份 1-12'); //输入2  "2"
        switch (x - 0) {  // x*1   x/1
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                alert('31天')
                break;
            case 2:
                alert('28天')
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                alert('30天')
                break;
            default:
                alert('没有匹配到')
                break;
        }

    switch语句案例:

        已知银行整存整取存款不同期限的月息利率分别为:

        月息利率=

        0.63% 期限=1年

        0.66% 期限=2年

        0.69% 期限=3年

        0.75% 期限=5年

        0.84% 期限=8年

        输入存款的本金和年限,求到期时能从银行得到的利息与本金的合计。

        利息的计算公式为:利息=本金×月息利率×12×存款年限。

        var money = +prompt('请输入存储的本金')
        var x = +prompt('请输入存款年份');//正号也可以进行隐式转换,数字
        var lx = 0;//存储利息用的变量
        switch (x) {
            case 1:
                lx = money * 12 * x * 0.0063
                alert('本息和是' + (lx + money))
                break;
            case 2:
                lx = money * 12 * x * 0.0066
                alert('本息和是' + (lx + money))
                break;
            case 3:
                lx = money * 12 * x * 0.0075
                alert('本息和是' + (lx + money))
                break;
            case 4:
                lx = money * 12 * x * 0.0084
                alert('本息和是' + (lx + money))
                break;
    
            default:
                break;
        }
    

    简化版本:

        var money = +prompt('请输入存储的本金')
        var x = +prompt('请输入存款年份');//正号也可以进行隐式转换,数字
        var lx = 0;//存储利息用的变量
        switch (x) {
            case 1:
                lx = money * 0.0063 * 12 * x; // lx重新赋值
                break;
            case 2:
                lx = money * 0.0066 * 12 * x
                break;
            case 3:
                lx = money * 0.0069 * 12 * x
                break;
            case 5:
                lx = money * 0.0075 * 12 * x
                break;
            case 8:
                lx = money * 0.0084 * 12 * x
                break;
        }
             alert(lx + money)

  2.  打断点:代码的执行顺序

            f12 -- >sources-->双击打断点的文件-->找到断点位置(自己决定)--->刷新页面--->按下step over next--->测试完毕记得关闭断点

    举例如下:

    var x = "B";
        switch (x) {
            case 'A':
                document.write('A选项')
                break;
            case 'B':
                document.write('B项')
                document.write('BB项')
                document.write('BBB项')
                break;
            case 'C':
                document.write('C选项')
                break;
            case 'D':
                document.write('D选项')
                break;
            default:
                break;
        }
    

    在控制台打断点,观察代码运行顺序

    点击右侧图标

    观察代码运行顺序:

  3.  三目运算符

        也称三元运算符:  

            语法:

                    关系表达式?值1/语句体:值2/语句体

                    关系表达式:比较出来一个布尔类型的结果

            执行流程:

                    关系表达式为true,就走?后面的语句体

                    关系表达式为false,就走:后面的语句体

    var x = 11;
        x%2==0?document.write('是偶数'):document.write('是奇数');

         运算符的优先级

                  运算符号比较多,==    ?:     =

                  先判断x%2==0,再进行三目运算,得到的运算结果为偶数,最后再进行赋值

        var year = 2008;
        // 录入一个数字年份,判断是否是闰年
        year%4==0&&year%100!=0||year%400==0?alert('是闰年'):alert("是平年");
  4.  while循环

         代码中: 重复执行一段代码

             条件:

                初始值

                终点值(条件判断)

                每次让初始值增加多少

        循环的格式:

            初始值

            while(条件判断){

                循环体;

                初始值变化多少

            }

          执行步骤:

            1. x = 1

            2. x<=20 -->true-->进循环体,x变量变化后重新进行判断,只要x满足条件就会一直循环 -->false--->出程序

        var x=+prompt('请输入一个数字');
        while (x <= 20) {
            document.write(x + '<br>');
            x++;    
        }

          while循环的格式

            初始值;

            while(条件判断){

                循环体

                初始值的变化

            }

        var x = 2;
        while (x == 1) {
            alert('xx')
            x--;
        }

         do while()循环格式

          初始值;

          do{

               循环体

                初始值的变化

          }while(条件判断);

        var x = 2;
        do {
            alert('xx')
            x--;
        } while (x == 1)

          注意:do while先走{},在走判断

          问题:while循环先走{}还是条件判断呢? 条件判断

          while和do while不同点:

          do while循环会先走循环体,在执行判断

  5. for循环

       for(初始值;条件判断;初始值的更新){

                语句体

            }

      执行流程:

               1. 先执行 初始值

               2. 走条件判断 --->true-->进循环体{}-->初始值的更新--->重新判断--->true-->进循环体{}-->初始值的更新--->重新判断 --->false--->出程序

    // 打印数字1-10
       for(var i=1;i<=10;i++){
           document.write(i + "<br>")
       }

    for循环案例:

     1. 打印 1-10内部的偶数

        for (let x = 1; x <= 10; x++) {
            if (x%2==0){
                document.write(x + '<br>')
            }
            
        }

    2. 求1-10所有数字的和

        for (var i = 1; i <= 10; i++) {
            // i = 1 2 3 4 .. 
            sum += i; // 通过循环,把每一个循环变量+到sum中
        }
        console.log(sum);

    3. 求1-100内是3的倍数的个数

        var count = 0;
        for (var i = 1; i <= 100; i++) { //循环了多少次(100次)
            // i= 1 2 3 4...100
            // 对i进行判断
            if (i % 3 == 0) { // 对1 2 3 4...100进行一个一个的判断。满足是3的倍数了
                count++;
            }
        }
    
        console.log(count);

    4.求 100-200内所有能被5整除的数字的和

        var sum = 0;
        for (var i = 100; i <= 200; i++) {
            if (i % 5 == 0) {
                sum += i;
            }
        }
    
        console.log(sum);

    5.打印100–200之间所有能被5整除的数

        //打印100–200之间所有能被5整除的数
        for (var x = 100; x <= 200; x++) {
            if (x % 5 == 0) {
                document.write(x + '<br>')
            }
        }

    6.打印100–200之间所有能被5整除的个数

        //打印100–200之间所有能被5整除的个数
        var count = 0;
        for (var x = 100; x < 200; x++) {
            if (x % 5 == 0) {
                count++;
            }
        }
        document.write(count + '<br>');

    7.打印100–200之间所有能被5整除并且能被3整除的个数

        // 打印100–200之间所有能被5整除并且能被3整除的个数
        var count = 0;
        for (var x = 100; x <= 200; x++) {
            if (x % 3 == 0 && x % 5 == 0) {
                count++;
            }
        }
        document.write(count + "<br>" );

    8.打印100–200之间所有能被5整除并且能被3整除的数字和

        // 打印100–200之间所有能被5整除并且能被3整除的数字和
        var sum = 0;
        for (var x = 100; x < 200; x++) {
            if (x % 3 == 0 && x % 5 == 0) {
                sum += x;
            }
    
        }
        document.write(sum + "<br>");

    9.打印100–200之间所有不能被5整除并且能被3整除的数字和

        //打印100–200之间所有不能被5整除并且能被3整除的数字和
        var sum = 0;
        for (var x = 100; x < 200; x++) {
            if (x % 3 == 0 && x % 5 != 0) {
                sum += x;
            }
    
        }
        document.write(sum + "<br>");

    10.输入月份显示天数

        var month = +prompt('请输入您所要查询的月份')
        switch (month) {
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                document.write('31天')
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                document.write('30天')
                break;
            case 2:
                document.write('29或者28天')
                break;
            default:
                break;
        }

    11.实现运算数和运算符计算

    编程实现以下功能:读入两个运算数(data1和data2)及一个运算符(op),计算表达式data1 op data2的值,其中op可为+,-,*,/

        var data1 = +prompt('请输入第一个数字');
        var data2 = +prompt('请输入第二个数字');
        var op = prompt('请输入一个运算符...');
        var y = 0;
        switch (op) {
            case '+':
                y = data1 + data2
                break;
            case '-':
                y = data1 - data2
                break;
            case '*':
                y = data1 * data2
                break;
            case '/':
                y = data1 / data2
                break;
            case '%':
                y = data1 % data2
                break;
    
            default:
                break;
        }
        document.write(y)

目录

switch语句

switch语句案例:

         打断点:代码的执行顺序

         三目运算符

         while循环

         for循环


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值