运算符与逻辑分支

2.运算符与逻辑分支

持续更新中…

运算符

1.进制转换

.toString() 10进制转换为其他进制

parseInt() 其他进制转换为10进制

进制:
二进制: 0, 1 (0~1)
八进制: 0, 1, 2, 3, 4, 5, 6, 7 (0~7)
十进制: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 (0~9)
十六进制: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F (0~15)

  // .toString() 10进制转换为其他进制// parseInt() 其他进制转换为10进制// 1100var num = 1100;var res = parseInt(num, 2);console.log(res);//12var num2 = 10111;var res1 = parseInt(num2, 2);//其中的2 代表这是二进制console.log(res1); //23// 扩展练习// 1. 将这些二进制1100 , 10111转成八进制、十进制、十六进制console.log(parseInt(1100, 2));//转换为10进制console.log(parseInt(1100, 2).toString(8));//8进制,先转为10进制,再用10进制的数转换为8进制console.log(parseInt(1100, 2).toString(16));//16进制console.log(parseInt(10111, 2));//转换为10进制console.log(parseInt(10111, 2).toString(8));//8进制,toString()括号里面跟的数字 ,就是进制,比如是8,就是8进制,是16就是16进制console.log(parseInt(10111, 2).toString(16));//16进制// 2. 将下列10进制数转成二进制//      193 ,   49 ,   81 ,  35var a = 193;var b = 49;var c = 81;var d = 35;console.log(a.toString(2));console.log(b.toString(2));console.log(c.toString(2));console.log(d.toString(2));// 3. 将下列二进制数转成十进制数// 100001001// 11001101console.log(parseInt(100001001, 2));console.log(parseInt(11001101, 2));

2.数学运算符

1.+

只有符号两边都是数字的时候才会进行加法运算
只要符号任意一边是字符串类型,就会进行字符串拼接

2.-

会执行减法运算
会自动把两边都转换成数字进行运算

3.*

会执行乘法运算
会自动把两边都转换成数字进行运算

4./

会执行除法运算
会自动把两边都转换成数字进行运算

5.%

会执行取余运算
会自动把两边都转换成数字进行运算

% 取值范围

Math,random()生成0-1之间的值,包含0 不包含1

   // % 5 的取值范围是0~4// % 10 的取值范围是0~9// % 100 的取值范围是0~99console.log(parseInt(Math.random() * 10) % 5);

3.赋值运算符

1.=

就是把=右边的赋值给等号左边的变量名

var num =100
就是把100赋值给num变量
那么num变量的值就是100

2.+=

var a =10;
a+=10;
console.log(a);//=20
a+=10等价于a=a+10

3.-=

var a= 10;
a-=10;
console.log(a);//=0
a-=10等价于a=a-10

4.*=

var a=10;
a*=10;
console.log(a);//=100
a*=10等价于a=a*10

5./=

var a=10;
a/=10;
console.log(a);//=1
a/=10等价于a=a/10

6.%=

var a=10;
a%=10;
console.log(a);//=0
a%=10等价于a=a%10

4.逻辑运算符

  1. && 与(需要满足两个条件) 短路运算符

    • && 我只找假的,找到假的,就不往后面执行了
     // 2.&& 与  短路运算// && 我只找假的,找到假的,就不往后面执行了true && false && num;// 代码执行,因为&&看到了false 就不会执行后面的num了,num就不会报错console.log("1111");
    
  2. || 或(满足一个条件即可) 短路运算符

    • || 或 只找"真",找到真的就不往后面执行

    • console.log("你好美");// 上面和下面两句话都执行,因为|| 找到true 就不看后面的代码了true || num;console.log("你好帅");
      
  3. ! 取反

         console.log(!true);//false
    
    		console.log(true && true);//trueconsole.log(true && false);//falseconsole.log(true || true);//trueconsole.log(true || false);//falseconsole.log(false || false);//falseconsole.log(!true);//falsevar num1 = 1 && 2;//0和NaN为false,非0为truevar num2 = true || false;var res = num1 * num2 + 3;document.write(res)
    

5.关系运算符

>, < ,>= ,<=, ==, =, !, !=

看到NaN参与比较,就是false

比较运算符的规则(牢记)

1.数值与数值比较,直接比较大小

2.数值与字符串比较,字符串转换成数字,再比较大小

3.字符与字符比较,把字符转换成ASCII码,再比较大小

ASCII码 记住这些经典的

a-z 97-122

A-Z 65-90

0-9 48-57

  //           65 >66console.log("A" > "B");//falseconsole.log("你好" > 2);//falseconsole.log("3" > 2);//true//  9是 57 ,11是 49 49 ,比较第一个数,所以是9大console.log("9" > "11");//true

6.一元运算符

a++(先运算,后赋值) ++a (先赋值,后运算)

只能操作一个值的运算符叫做一元运算符
var a = ++b; // 先运算,后赋值
var a = b++; // 先取值,后运算

​ 其他类型应用一元运算符的规则
​ var b = ‘89’;
​ b++; //90,数值字符自动转换成数值

​ var b= ‘ab’;
​ b++; //NaN,字符串包含非数值转成NaN

​ var b = false;
​ b++; //1,false转成数值0,累加就是1

​ var b = 2.3;
​ b++; //3.3,直接加1

  var a = 10;var res = a++ + a++ + a++;console.log(a);//13console.log(res);//33var b = 10;var res1 = b++ + ++b + b++ + ++b;console.log(b);//14console.log(res1);//48var i = 12;var sum = i++ + ++i + ++i * 2 + i-- + i--;console.log(sum + " " + i);// 85 13

7.三目运算符

语法:

​ 表达式?条件1 : 条件2;

​ 表达式满足条件就走条件1,否则就走条件2

  var num = 10;var res = num > 5 ? "大于5" : "小于5";console.log(res);//大于5

8.位移运算符

(>>右位移)(<<左位移)

进制的左移相当于乘以2,右移相当于除以2

2>>2 等于0

2<<2 等于8

2 2 把第一个2,转换为2进制,再向左边或者右边移动n位,n:就是第二个数

9.= , == ,===代表的意思

  1. = 赋值 把右边的值给到左边
  2. == 比较 只比较值,类型会自动进行转换
    1. === 值和类型,都要相同,才会全等于(恒等于)

逻辑分支

1.单分支

 单分支语法:if(表达式){逻辑代码}
 var a = 10;console.log("11111");//    10==20,不满足条件,所以不执行里面的代码if (a == 20) {console.log("条件满足,我被执行,条件不满足,我就不被执行");}console.log("222222");

2.双分支

 表达式1 算术表达式 逻辑表达式 关系表达式 常量....语法:if(表达式1){逻辑代码1}else{逻辑代码2}
 //    双分支var str = prompt("请输入开和关:");if (str === "开") {console.log("电灯打开了");} else {console.log("电灯被关闭了,没有被打开");}

3.多分支

多分支的语法:

            if(表达式1){逻辑代码}else if(){逻辑代码}else if(){逻辑代码}else{逻辑代码}
 // 一周7天var day = prompt("请输入星期几的数字?");if (day == 1) {console.log("星期1");} else if (day == 2) {console.log("星期2");} else if (day == 3) {console.log("星期3");} else if (day == 4) {console.log("星期4");} else if (day == 5) {console.log("星期5");} else if (day == 6) {console.log("星期6");} else {console.log("星期天");}

4.Switch

1.防止穿透 break
2.恒等于(===),值和类型要一致

           语法:Switch(){case 常量1:逻辑代码1break;case 常量2:逻辑代码2break;default:逻辑代码3break;
        var grade = (prompt("请输入分数"));var a = parseInt(grade / 10);switch (a) {case 10:case 9:case 8:console.log("A");break;case 7:console.log("B");break;case 6:console.log("C");break;default:console.log("D");break;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/69424.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 【jacoco】对基于 SpringBoot 和 Dubbo RPC 的项目生成测试覆盖率报告:实践+原理

基于 Dubbo RPC 的项目中有一个提供者项目backend、一个消费者项目gateway、以及注册中心nacos。本篇文章记录在windows本地对该框架的测试过程&#xff0c;以及介绍jacoco的基本原理 测试过程 官网下载安装包解压到本地&#xff0c;https://www.jacoco.org/jacoco/ 只需要用…

Android键盘监听

拦截键盘可在Activity中重写onKeyDown方法 常用的KeyCode有 KEYCODE_ALL_APPS 多任务管理键 KEYCODE_HOME Home键 KEYCODE_BACK 返回键 KEYCODE_POWER 电源键 KEYCODE_VOLUME_UP 加音量键 KEYCODE_VOLUME_DOWN 减音量键还有相机键、菜单键、查找键、&#xff08;上&…

11. Junit

我们主要学习的是 Junit5. 1. selenium 和 Junit 之间的关系 selenium 和 Junit 之间的关系 就像 Java 和 JavaScript 之间的关系&#xff0c;也就是没有关系。 为什么学习了 selenium 还要学习 Junit 呢&#xff1f; 举个例子&#xff0c;如果 Selenium 编写的自动化测试用…

论坛系统公共组件部分

1.在Java⽬录下创建包&#xff0c;在Resources⽬录下创建⽂件夹&#xff0c;结构如下 ├─java # java⽂件区 │ └─com │ └─example │ └─demo │ ├─common # 公共类 │ ├─config # 配置…

MySQL表操作

目录 一、创建mysql表的结构 1.在mydb数据库下创建一个表格名字为stu_info&#xff0c;里面结构包含了学号和姓名的名称&#xff0c;字符型以及他的引擎为innodb 字符集为gbk 校队规则为gbk_chinese_ci 二、数据库表查看的基本用法语句 1.查看数据库表明 2.查看数据库表的结…

数字图像处理:亮度对比度-几何变换-噪声处理

文章目录 数字图像增强亮度与对比度转换几何变换图像裁剪尺寸变换图像旋转 噪声处理添加噪声处理噪声 数字图像增强 亮度与对比度转换 图像变换可分为以下两种&#xff1a; 点算子&#xff1a;基于像素变换&#xff0c;在这一类图像变换中&#xff0c;仅仅根据输入像素值计算…

c++中的常用知识点总结

命名空间 使用命名空间之后&#xff0c;调用代码时可以省去也可以不省去相关的前缀。 #include <iostream>using namespace std;//使用c自己的命名空间 int main() {int num1 10;std::cout << "Hello, World!" << std::endl;cout<<num1&l…

【计算机网络】 ARP协议和DNS协议

文章目录 数据包在传输过程中的变化过程单播组播和广播ARP协议ARP代理免费ARP路由数据转发过程DNS协议 数据包在传输过程中的变化过程 在说ARP和DNS之前&#xff0c;我们需要知道数据包在传输过程的变化过程 从图片中可以看到&#xff0c;发送方的原数据最开始是在应用层&…

【元宇宙】区块链,元宇宙最大化的驱动力

如今&#xff0c;一些观察者认为区块链是在结构上实现元宇宙的必要条件&#xff0c;而其他人则认为这种说法是荒谬的。人们对于区块链技术本身仍然有很多困惑&#xff0c;所以根本谈不上清楚地了解込块链技术与元宇宙的关系。所以&#xff0c;我们可以从区块链的定义开始介绍。…

vscode使用delve调试golang程序

环境配置 delve仓库&#xff0c;含有教程&#xff1a;https://github.com/go-delve/delve golang的debugging教程&#xff1a;https://github.com/golang/vscode-go/wiki/debugging > go version go version go1.20 windows/amd64> go install github.com/go-delve/de…

华为云Stack的学习(五)

六、华为云stack服务简介 1.云服务在华为云Stack中的位置 云服务对接多个数据中心资源池层提供的资源&#xff0c;并向各种行业应用提供载体。 2.华为云Stack通用服务 2.1 云计算的服务模式 2.2 计算相关的云服务 2.3 存储相关的云服务 2.4 网络相关的云服务 3.云化案例 **…

如何取消KEIL-MDK工程中出现的CMSIS绿色图标

如何取消KEIL-MDK工程中出现的CMSIS绿色图标&#xff1f;我以前经常遇到&#xff0c;不知道怎么搞&#xff0c;好像也不影响编译结果。以前问过其他人&#xff0c;但是不知道怎么搞&#xff0c;相信很多人也遇到过。水平有限&#xff0c;表达不清楚&#xff0c;见下图&#xff…

Bootstrap的标题类(标题样式h1~h6)

Bootstrap 的标题字体大小通常遵循以下样式规则&#xff1a; h1 标题的字体大小为 2.5rem&#xff08;40像素&#xff09;。h2 标题的字体大小为 2rem&#xff08;32像素&#xff09;。h3 标题的字体大小为 1.75rem&#xff08;28像素&#xff09;。h4 标题的字体大小为 1.5re…

SOME/IP 支持两种序列化方式:TLV 和 TV

SOME/IP 是一种基于 IP 的可扩展面向服务的中间件协议,它可以在车载以太网中实现 ECU 之间的高效通信和互操作性。 SOME/IP 的序列化方式是指将数据结构或对象按照一定的规则转换成字节序列的过程,以便在网络中传输和解析。 SOME/IP 支持两种序列化方式:TLV 和 TV。 TLV是…

C++std::function和std::bind()的概念

std::function&#xff1a; 一个通用的函数封装器&#xff0c;它允许你存储和调用任何可以被调用的东西&#xff0c;例如函数、函数指针、函数对象、Lambda 表达式等。 std::bind&#xff1a; 用于创建函数对象。一个可调用对象的绑定版本&#xff0c;可以提前绑定某些参数&am…

Codeforces Round 260 (Div. 1) B. A Lot of Games(字典树+博弈)

B. A Lot of Games 链接&#xff1a;Codeforces Round 260 (Div. 1) B. A Lot of Games 题意 给定 n n n 个字符串&#xff0c;A和B准备玩一个游戏&#xff0c;每一轮有一个初始空字符串&#xff0c;每人轮流向其中添加字符&#xff0c;要求添加后的字符串必须是这 n n n …

【trie树】CF Edu12 E

Problem - E - Codeforces 题意&#xff1a; 思路&#xff1a; 这其实是一个套路题 区间异或转化成前缀异或&#xff0c;然后枚举 i 对于每一个 i&#xff0c;ai ^ x k&#xff0c;对 x 计数 先建一棵字典树&#xff0c;然后在字典树上计数 先去对 > k 的部分计数&a…

微信小程序第三方插件申请

记录下小程序申请插件的页面&#xff0c;之前自己找了很久&#xff0c;方便后续使用 1. 先找到自己需要的第三方插件的appid 2. 登录微信公众平台后台&#xff08;mp.weixin.qq.com&#xff09; 3. 打开小程序插件页面 https://mp.weixin.qq.com/wxopen/plugindevdoc?appi…

国际版阿里云/腾讯云:弹性高性能计算E-HPC入门概述

入门概述 本文介绍E-HPC的运用流程&#xff0c;帮助您快速上手运用弹性高性能核算。 下文以创立集群&#xff0c;在集群中安装GROMACS软件并运转水分子算例进行高性能核算为例&#xff0c;介绍弹性高性能核算的运用流程&#xff0c;帮助您快速上手运用弹性高性能核算。运用流程…

AI批量写文章伪原创:基于ChatGPT长文本模型,实现批量改写文章、批量回答问题(长期更新)

import traceback import openai import osopenai.api_key = ""conversation=[{"role": "system", "content": "You are a helpful assistant."}] max_history_len = 20 first_message = Nonedir = rJ:\ai\input #要改写的文…