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

2024-01-02 19:48

本文主要是介绍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/1case 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.0063alert('本息和是' + (lx + money))break;case 2:lx = money * 12 * x * 0.0066alert('本息和是' + (lx + money))break;case 3:lx = money * 12 * x * 0.0075alert('本息和是' + (lx + money))break;case 4:lx = money * 12 * x * 0.0084alert('本息和是' + (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 * xbreak;case 3:lx = money * 0.0069 * 12 * xbreak;case 5:lx = money * 0.0075 * 12 * xbreak;case 8:lx = money * 0.0084 * 12 * xbreak;}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-10for(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 + data2break;case '-':y = data1 - data2break;case '*':y = data1 * data2break;case '/':y = data1 / data2break;case '%':y = data1 % data2break;default:break;}document.write(y)

目录

switch语句

switch语句案例:

         打断点:代码的执行顺序

         三目运算符

         while循环

         for循环


这篇关于javaScript学习笔记(三)「switch语句」、「断点」、「三目运算」、「while循环」、「for循环」的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/563469

相关文章

SpringBoot UserAgentUtils获取用户浏览器的用法

《SpringBootUserAgentUtils获取用户浏览器的用法》UserAgentUtils是于处理用户代理(User-Agent)字符串的工具类,一般用于解析和处理浏览器、操作系统以及设备... 目录介绍效果图依赖封装客户端工具封装IP工具实体类获取设备信息入库介绍UserAgentUtils

Spring 中的循环引用问题解决方法

《Spring中的循环引用问题解决方法》:本文主要介绍Spring中的循环引用问题解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录什么是循环引用?循环依赖三级缓存解决循环依赖二级缓存三级缓存本章来聊聊Spring 中的循环引用问题该如何解决。这里聊

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制

Java对象转换的实现方式汇总

《Java对象转换的实现方式汇总》:本文主要介绍Java对象转换的多种实现方式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java对象转换的多种实现方式1. 手动映射(Manual Mapping)2. Builder模式3. 工具类辅助映

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

Spring Boot 整合 SSE的高级实践(Server-Sent Events)

《SpringBoot整合SSE的高级实践(Server-SentEvents)》SSE(Server-SentEvents)是一种基于HTTP协议的单向通信机制,允许服务器向浏览器持续发送实... 目录1、简述2、Spring Boot 中的SSE实现2.1 添加依赖2.2 实现后端接口2.3 配置超时时

Spring Boot读取配置文件的五种方式小结

《SpringBoot读取配置文件的五种方式小结》SpringBoot提供了灵活多样的方式来读取配置文件,这篇文章为大家介绍了5种常见的读取方式,文中的示例代码简洁易懂,大家可以根据自己的需要进... 目录1. 配置文件位置与加载顺序2. 读取配置文件的方式汇总方式一:使用 @Value 注解读取配置方式二