菜鸟文档
一、算术运算符
运算符 |
描述 |
例子 |
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)运算符:
规则:
可以把1当做true 0当做false
只有参与运算的两位都为1,&运算的结果才为1,否则就为0。
只有参加运算的两位都是0,| 运算的结果才是0,否则都是1。
只有参加运算的两位不同,^运算的结果才为1,否则就为0。
3-2 移位操作符
运算符 |
运算 |
范例 |
<< |
左移 |
3 << 2 = 12 —> 322=12 |
>> |
右移 |
3 >> 1 = 1 —> 3/2=1 |
3-2-1 <<左移
console.log(5 << 2); //返回值20
3-2-2 >>右移
console.log(1000 >> 8); //返回值3
//把数值 1000 向右移 8 位,则返回值为 3。
3-3 运算符的优先级
优先级从高到底
1. () 优先级最高
2. 一元运算符 ++ -- !
3. 算数运算符 先* / % 后 + -
4. 关系运算符 > >= < <=
5. 相等运算符 == != === !==
6. 逻辑运算符 先&& 后||
7. 赋值运算符
四、实战题
1、console.log(10&&0) //输出0
Tip:与运算符 如果第一个为false则返回第一个,为true的话,返回第二个
2、console.log(""||"abc") //abc
Tip:或运算符 第一个为true,返回第一个,为false返回第二个您细品
1、Number(null) //0
2、null==undefined //true
3、100-null+"11" //10011
4、0=="" //true