当前位置: 首页 > news >正文

javaScript:分支语句的理解与使用(附带案例)

目录

前言

补充

另一种说法 

分支语句

1.if语句 

a.单分支语句

注意 

b.双分支语句 

注意点 

c.多分支语句(分支语句的联级语句) 

补充 

 2.三元运算符

三元运算符 ? :

使用场景

3.switch语句

解释

释义:

注意事项:

相关代码 

案例 

1.在input框输入两个数字判断大小

效果图 

代码 

2.判断闰年

效果图

代码 

3.判断成绩 

效果图

代码 


前言

        分支语句是编程中常用的一种控制结构,它允许根据条件的不同执行不同的代码。通过合理运用分支语句,可以根据不同的条件执自己行不同的代码,实现更精确的控制流程。在实际编程中,我们可以根据需求选择适当的分支语句来解决问题。  

补充

• 程序三大流程控制语句

1. 顺序结构

2.分支结构

3.循环结构

另一种说法 

程序结构

1.基本结构(顺序执行)

2.分支结构(分支语句)

3.循环结构(循环语句)

分支语句

分支语句主要包括以下三种,接下来我将对下面三种分支语句进行讲解。

a.if语句           (if语句分为单分支,双分支,多分支)

b.三元运算符  (简化版的分支语句)

c.switch语句   (switch是开关的意思)

1.if语句 

a.单分支语句

if(判断条件){只有当if中的判断条件为true的时候,{}中的代码才会被执行,如果判断条件不为true,则跳过{}中的代码,程序继续往下执行
}

注意 

       if后面()中的判断条件,不管里面的表达式有多复杂,返回的值永远只有true

或者false。括号内的条件为true时,进入大括号里执行代码 。   小括号内的结果若不是布尔类型时,会发生隐式转化为布尔类型。     如果大括号只有一个语句,大括号可以省略,但是,不提倡这么做~(虽然可以在if语句中省略大括号,但这样做可能会导致代码可读性和维护性的问题。特别是当if语句后面紧跟着一个缩进的代码块时,如果没有大括号明确定义代码块的范围,可能会引发错误。为了代码的一致性和可读性,建议始终使用大括号,即使代码块中只有一条语句。)

b.双分支语句 

if(判断条件){如果判断条件 为true,则执行这里的代码
}else{如果判断条件 不为true,则执行else中的代码
}

注意点 

       if 可以单独使用,else必须结合if一起使用。else指的是除了满足if条件

之外的所有条件。只有一行的时候可以转成三元,多行不行,建议只有一行的时候转化为三元

c.多分支语句(分支语句的联级语句) 

         在使用if语句的时候,else的范围有时候会比较大,因此可以使用else if,对具体的情况进行细分,else if 可以根据情况设置多个。使用场景:适合于有多个结果的时候,比如学习成绩可以分为; 优良中差

if(判断条件){执行语句
}slse if(判断条件){执行语句
}else{执行语句
}

补充 

注意

   1.当你书写判断条件的时候,注意等于是 == 不是 = , = 是赋值

   2.0 '' null  undefind 如果写在判断条件中,都被解析为false

   非0 , 非''  非null 非 undefined 如果写在判断条件中,都被解析为true

 2.三元运算符

三元运算符 ? :

判断条件判断条件为真,则执行当前代码判断条件为假,则执行当前代码

使用场景

使用场景:其实比if双分支更简单的写法,可以使用三元表达式 。 一般用来取值。

 

3.switch语句

        switch语句,特点是,默认贯穿整个结构,可以使用关键字break阻止贯穿,break的作用是阻断当前结构语句,可以阻断switch 也可以阻断 循环

 switch (数据) {case 值1:代码1break;case 值2:代码2break;default:代码nbreak;}

解释

释义:

1,找到跟小括号里数据全等的case值,并执行里面对应的代码。

2,若没有全等=== 的则执行default里的代码。 列:数据若根值2全等,则执行代码2      

注意事项:

1.switch case 语句一般用于等值判断,不适合用于区间判断     

 2.switch cass 一般需要配合break关键字使用,没有break会造成case穿透。

相关代码 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>switch语句</title>
</head>
<body></body>
</html>
<script>/*switch语句,特点是,默认贯穿整个结构,可以使用关键字break阻止贯穿break的作用是阻断当前结构语句,可以阻断switch 也可以阻断 循环*/ let count = 70;switch (count) {case 30:console.log('天涯何处无芳草');break;  //阻断switch语句,跳出switchcase 170:console.log('一曲肝肠断');break;// default: 是默认的意思,如果上面的条件都不能执行则会执行default中的代码default:console.log('只因你太美+default');break;}let num = 1;switch (num) {case 1:console.log('当前是1');num+=10console.log(num);case 2:console.log('当前是2');num++console.log(num);break;default:num--console.log('当前是default');console.log(num);break;}
</script>

案例 

1.在input框输入两个数字判断大小

效果图 

代码 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>案例</title>
</head>
<body>数据1:  <input type="number" value="" id="a" > <br>数据2:  <input type="number" value="" id="b"> <br><button id="bth">比较大小</button><hr>
</body>
</html>
<script>let a = document.getElementById('a')let b = document.getElementById('b')let bth = document.getElementById('bth')bth.onclick = function(){let num1= a.value - 0let num2= b.value - 0// num1>num2? alert(num1):alert(num2)if (num1>num2) {alert(num1)}else if(num2==num1){alert('相等')}else{alert(num2)}}
</script>

2.判断闰年

效果图

 

代码 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>if语句练习</title>
</head>
<body>输入年份:<input type="number" value="" id="year" > <br><button id="bth2">查看是否是润年</button>
</body>
</html>
<script>let year = document.getElementById('year')let bth2 = document.getElementById('bth2')bth2.onclick = function(){let n = year.value - 0if (n % 4 == 0 && n % 100 > 0 ||n % 400 == 0) {alert(n+'是闰年')}else{alert(n+'是平年')}}
</script>

3.判断成绩 

效果图

 

 

 

代码 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>if语句练习</title>
</head>
<body>
</body>
</html>
<script>let f = +prompt('输入考试成绩')if (f == 100) {alert('恭喜你的成绩为满分,奖励一个对象')}else if (f>=90) {alert('优秀')}else if(f>=80){alert('良好')}else if(f>=70){alert('中等')}else if(f>=60){alert('及格')}else{alert('开除学籍')}
</script>

相关文章:

javaScript:分支语句的理解与使用(附带案例)

目录 前言 补充 另一种说法 分支语句 1.if语句 a.单分支语句 注意 b.双分支语句 注意点 c.多分支语句&#xff08;分支语句的联级语句&#xff09; 补充 2.三元运算符 三元运算符 &#xff1f; &#xff1a; 使用场景 3.switch语句 解释 释义&#xff1a…...

MySQL高阶知识点(一)事务的并发问题和隔离级别

简单来说&#xff0c;事务就是要保证一组数据库操作&#xff0c;要么全部成功&#xff0c;要么全部失败。 在 MySQL 中&#xff0c;事务支持是在引擎层实现的。 MySQL 是一个支持多引擎的系统&#xff0c;但并不是所有的引擎都支持事务。 如 MySQL 原生的 MyISAM 引擎就不支持…...

医疗PACS源码,支持三维多平面重建、三维容积重建、三维表面重建、三维虚拟内窥镜

C/S架构的PACS系统源码&#xff0c;PACS主要进行病人信息和影像的获取、处理、存储、调阅、检索、管理&#xff0c;并通过网络向全院提供病人检查影像及诊断报告&#xff1b;各影像科室之间共享不同设备的病人检查影像及诊断报告;在诊断工作站上&#xff0c;调阅HIS中病人的其它…...

Ubuntu安装Redis

首先要切换到root用户 1.apt安装 apt install redis 2.⽀持远程连接 修改 /etc/redis/redis.conf • 修改 bind 127.0.0.1 为 bind 0.0.0.0 • 修改 protected-mode yes 为 protected-mode no 3.控制 Redis 启动 1.启动 Redis 服务 service redis-server start 2.停⽌ Redis …...

“深入解析JVM内部机制:探索Java虚拟机的奥秘“

标题&#xff1a;深入解析JVM内部机制&#xff1a;探索Java虚拟机的奥秘 JVM&#xff08;Java虚拟机&#xff09;是Java程序的核心执行环境&#xff0c;它负责将Java字节码转换为机器码并执行。了解JVM的内部机制对于理解Java程序的执行过程和性能优化至关重要。本文将深入解析…...

vim打开文件中文是乱码

vim打开文件中文是乱码 问题&#xff1a;在Linux系统下&#xff0c;使用cat查看含有中文的文本文件正常&#xff0c;但是使用vim打开却是乱码 解决方法&#xff1a; 方法一&#xff1a; 在文件中设定 在vim的退出模式下 :set encodingutf8 方法二&#xff1a; 直接写入/etc/…...

【正点原子STM32连载】 第七章 Geehy标准库版本MDK工程创建 摘自【正点原子】APM32F407最小系统板使用指南

1&#xff09;实验平台&#xff1a;正点原子stm32f103战舰开发板V4 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html# 第七…...

SQL中count()的不同用法

1.count(*)&#xff1a;统计所有列的行数&#xff0c;包括均为null值的行&#xff1b; 2.count(1)&#xff1a;统计所有列的行数&#xff0c;包括均为null值的行&#xff1b; 3.count(列名)&#xff1a;统计指定列的行数&#xff0c;不包括null值&#xff1b; 实例&#xff1a;…...

go_细节注意

go细节 一、使用指针接受者和不使用指针接受者1&#xff0c;不使用指针接受者&#xff1a;2&#xff0c;使用指针接受者3&#xff0c;区别与优劣势 一、使用指针接受者和不使用指针接受者 1&#xff0c;不使用指针接受者&#xff1a; func (d dog) move() {fmt.Println("…...

屏蔽恶意域名的DNS查询

因为有一些恶意域名, 已经在防火墙上做了封禁了, 但是如果收到中毒主机的请求, 还是要去做一次DNS查询, 因此被上级单位通告, 因此想把恶意域名的DNS查询封禁做到防火墙下联的AC上面, 一方面因为防火墙的策略优先级DNS代理比较靠后, 另一方面也是为了减小防火墙压力, 简化配置:…...

SQL-每日一题【1251. 平均售价】

题目 Table: Prices Table: UnitsSold 编写SQL查询以查找每种产品的平均售价。average_price 应该四舍五入到小数点后两位。 查询结果格式如下例所示&#xff1a; 解题思路 1.题目要求查询每种产品的平均售价。给出了两个表&#xff0c;我们用聚合查询来解决此问题。 2.首先我…...

Win11中使用pip或者Cython报错 —— error: Microsoft Visual C++ 14.0 is required.

第一步&#xff1a;下载Visual Studio 2019 下载地址&#xff1a; https://learn.microsoft.com/zh-cn/visualstudio/releases/2019/release-notes 第二步&#xff1a;安装组件 选择单个组件&#xff0c;勾选以下两个组件 其他错误&#xff1a; 无法打开文件“python37.li…...

Spring学习笔记之Bean的“出生入死”

文章目录 什么是Bean的生命周期为什么要知道Bean的生命周期Bean的生命周期之五个阶段Bean生命周期之七个阶段Bean生命周期的十个阶段Bean的作用域不同&#xff0c;管理方式不同自己new的对象如何让Spring管理 什么是Bean的生命周期 Spring其实就是一个管理Bean对象的工厂。它负…...

hbase 报错 Master passed us a different hostname to use; was=

原因 wsl2的 /etc/hosts 配置的不兼容,我这里是ubuntu22 命令行输入hostname 看输出什么,比如输出 aaa 那么替换/etc/hosts 127.0.0.1 aaa...

Aspera替代方案:探索这些安全且可靠的文件传输工具

科技的发展日新月异&#xff0c;文件的传输方式也在不断地更新换代。传统的邮件附件、FTP等方式已经难以满足人们对于传输速度和安全性的需求了。近年来&#xff0c;一些新兴的文件传输工具受到了人们的关注&#xff0c;其中除了知名的Aspera之外&#xff0c;还有许多可靠安全的…...

你真的了解数据结构与算法吗?

数据结构与算法&#xff0c;是理论和实践必须紧密结合的一门学科&#xff0c;有关数据结构和算法同类的课程或书籍&#xff0c;有些只是名为“数据结构”&#xff0c;而非“数据结构与算法”&#xff0c;它们在内容上并无很大区别。 实际上&#xff0c;数据结构和算法&#xf…...

kafka使用心得(一)

kafka入门 一种分布式的、基于发布/订阅的消息系统&#xff0c;scala编写&#xff0c;具备快速、可扩展、可持久化的特点。 基本概念 topic 主题 partition 分区&#xff0c;一个topic下可以有多个partition&#xff0c;消息是分散到多个partition里存储的&#xff0c;part…...

Django图书商城系统实战开发-实现商品管理

Django图书商城系统实战开发 - 实现商品管理 在本教程中&#xff0c;我们将使用Django框架来实现一个简单的图书商城系统&#xff0c;并重点讨论如何实现商品管理功能。此外&#xff0c;我们还将介绍如何使用Markdown格式来写博客&#xff0c;并将其集成到我们的图书商城系统中…...

走出象牙塔:李郓梁的区块链实践之路丨对话MVP

如何从科研走向实践&#xff1f;李郓梁在社区找到了答案。 作为西安工业大学的硕士研究生&#xff0c;李郓梁从学校的实验室接触区块链技术。通过研读大量论文&#xff0c;李郓梁为区块链多中心化、不可篡改等前沿理论深深着迷&#xff0c;并选择将区块链作为主要研究方向&…...

【hive】hive分桶表的学习

hive分桶表的学习 前言&#xff1a; 每一个表或者分区&#xff0c;hive都可以进一步组织成桶&#xff0c;桶是更细粒度的数据划分&#xff0c;他本质不会改变表或分区的目录组织方式&#xff0c;他会改变数据在文件中的分布方式。 分桶规则&#xff1a; 对分桶字段值进行哈…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开&#xff0c;首…...

算法笔记2

1.字符串拼接最好用StringBuilder&#xff0c;不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

视觉slam十四讲实践部分记录——ch2、ch3

ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称&#xff1a;Apache Flink REST API 任意文件读取漏洞CVE编号&#xff1a;CVE-2020-17519CVSS评分&#xff1a;7.5影响版本&#xff1a;Apache Flink 1.11.0、1.11.1、1.11.2修复版本&#xff1a;≥ 1.11.3 或 ≥ 1.12.0漏洞类型&#xff1a;路径遍历&#x…...

Modbus RTU与Modbus TCP详解指南

目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...