菜鸟文档

一、算术运算符

运算符 描述 例子 x 运算结果 y 运算结果 在线实例
+ 加法 x=y+2 7 5 实例 »
- 减法 x=y-2 3 5 实例 »
* 乘法 x=y*2 10 5 实例 »
/ 除法 x=y/2 2.5 5 实例 »
% 取模(余数) x=y%2 1 5 实例 »
++ 自增 x=++y 6 6 实例 »
x=y++ 5 6 实例 »
自减 x=—y 4 4 实例 »
x=y— 5 4 实例 »

二、赋值运算符

运算符 例子 等同于 运算结果 在线实例
= x=y x=5 实例 »
+= x+=y x=x+y x=15 实例 »
-= x-=y x=x-y x=5 实例 »
*= x*=y x=x*y x=50 实例 »
/= x/=y x=x/y x=2 实例 »
%= x%=y x=x%y x=0 实例 »

三、逻辑运算符

运算符 语法 说明
逻辑与,AND(&& _expr1_ && _expr2_ expr**1** 可转换为 true,则返回 expr**2**;否则,返回 expr**1**
逻辑或,OR(` `) `expr1 expr2` expr**1** 可转换为 true,则返回 expr**1**;否则,返回 expr**2**
逻辑非,NOT(! !_expr_ expr 可转换为 true,则返回 false;否则,返回 true

3-1 位运算符

  • 按位操作符用来操作整数基本数据类型中的单个比特(bit),就是二进制,按位操作符会对两个参数中对应的位(bit)执行布尔运算,最终生成一个结果。按位操作符来源于C语言面向底层的操作,Java设计的初衷是嵌入式电视机机顶盒,所以面向底层的操作也保留了下来。
  • 任何信息在计算机中都是以二进制的形式保存的,”&”、“|”、“^”除了可以作为逻辑运算符也可以作为位运算符。位运算是直接对二进制进行运算。他们对两个操作数中的每一个二进制位都进行运算。例如int是由32个二进制数组成,因此使用位运算符可以对整数值的二进制数进行运算。

位(bit)运算符:

& 与(AND)
| 或(OR)
^ 异或

规则:

  1. 可以把1当做true 0当做false
  2. 只有参与运算的两位都为1,&运算的结果才为1,否则就为0
  3. 只有参加运算的两位都是0,| 运算的结果才是0,否则都是1
  4. 只有参加运算的两位不同,^运算的结果才为1,否则就为0

3-2 移位操作符

运算符 运算 范例
<< 左移 3 << 2 = 12 —> 322=12
>> 右移 3 >> 1 = 1 —> 3/2=1

3-2-1 <<左移

  1. console.log(5 << 2); //返回值20

十四、运算符 - 图1

3-2-2 >>右移

  1. console.log(1000 >> 8); //返回值3
  2. //把数值 1000 向右移 8 位,则返回值为 3。

十四、运算符 - 图2

3-3 运算符的优先级

  1. 优先级从高到底
  2. 1. () 优先级最高
  3. 2. 一元运算符 ++ -- !
  4. 3. 算数运算符 先* / % + -
  5. 4. 关系运算符 > >= < <=
  6. 5. 相等运算符 == != === !==
  7. 6. 逻辑运算符 先&& 后||
  8. 7. 赋值运算符

四、实战题

  1. 1console.log(10&&0) //输出0
  2. Tip:与运算符 如果第一个为false则返回第一个,为true的话,返回第二个
  3. 2console.log(""||"abc") //abc
  4. Tip:或运算符 第一个为true,返回第一个,为false返回第二个您细品
  1. 1Number(null) //0
  2. 2null==undefined //true
  3. 3100-null+"11" //10011
  4. 40=="" //true