运算符
1.四则运算
生活中的数学运算符包括+、 - 、x 、÷,那么计算机也有对应的运算符+、-、*、/。
这些简单的四则运算与生活中的运算符一样,都是相同的作用。因为这些运算符与生活中的一样,我就不一一介绍了,直接写一些代码让你们看下。
var a = 5;
var b = 3;
var c = a + b;/*加法*/
var d = a - b;/*减法*/
var e = a * b;/*乘法*/
var f = a / b;/*除法*/
上面得到的c、d、e、f分别是8、2、15、1.67。
不过计算机也有别于生活,下面介绍下一些别的运算符。
2.求余运算符
这个运算符用%来表示。他的作用是对两个整数求余,得到的是余数。
举个例子:
var g = a % b;
上面得出来g为2.因为5除以3的1余2,我们求的就是这个余数2.
这个求余也比较重要,一般用在求一个数的
各位数之和,很经典。
3.关系运算符
这些运算符一般是用来判断的,关系嘛,谁大谁小。
有> 、< 、==、<=、>=、!=6个运算符。
>、<、>=、<=这些就不必要种要介绍了吧,都是很常见的,数学里面也有。就写行代码看一下吧,接着上面写。
var h = a > b;/*大于*/
var i = a < b;/*小于*/
var j = a >= b;/*大于等于*/
var k = a <= b;/*小于等于*/
得到这个结果应该不意外吧。关系运算符得到的都是布尔类型的数字,1和0.false代表,true代表1.
下面说下“==”,这个就是现实中的“=”。
为什么需要使用两个等号呢?
这是因为我们在计算机中赋值是使用“=”的。为了把判断与赋值分开来,我们就在原有的基础上再加了=。
“
!=
”是不等于的意思。根据字面理解,如果两个数是不等于的话,那么就是false相等的话就是0、true.
var l = a == b;/*等于*/
var m = a != b;/*不等于*/
=== 、 !== 分别是绝对相等、绝对不相等,这两个是需要判断数值以及类型的,要全部都相等。
“===” 需要数值和类型都相等才是真。
var b1 = "5";
var b2 = 5;
var n = a === b;
var o = a === b1;
var p = a === b2;
这样子得到的n、 o、 p分别是false、false 、true。
首先我们看下 b1 的是也是5,但是他的类型确实字符类。所以不是绝对相等。
但是b2类型是number,值也是5,这就相等了。
通过上面的案例,差不多能理解绝对相等的意思了。
“!==”这个就是绝对等于的反数,与绝对等于相反。
这个我就不做案例了。
4.赋值计算
4.逻辑运算
逻辑运算包括&&、||、!三种,分别是与、或、非。
“&&”是只有两端都为真才是真。
var t = (a > 2 && b >2);
var u = (a > 2 && b <2);
上面得到的t就是true,而u则是false。因为a和b都大于2.
“||”是两端只要有一个是真就为真。
var v = (a > 2 || b >2);
var w = (a > 2 || b <2);
你也可以写
var w = (a <2 || b < 2)
这上面运算符两端都是假的,所以结果也是假的,false。
5.位运算符
位运算符是最难的,包括&、|、^ 分别是与、或、异或。
这些位运算符有一个特点,他们的计算都是在二进制下进行的。那么不是二进制怎么办,我们把他转换为二进制就行了。
“&” 与运算,是只有都是1才为1,不然都是0.
“|”只要有一个1,就是1.只有当全是0,才为0.
“^”不同为1,相同为0.
var x = ((a & b).toString(2));
var y = ((a | b).toString(2));
var z = ((a ^ b).toString(2));
这些运算都是在二进制的情况系进行的,所以输出也是二进制。
最后说下按位与运算的作用:
(1) 测试某一位是0还是1;
1100010000101011
0000000000001000
(2)设置某些位为0
1100010000101011
1111111111110111
(3)按位或运算的作用:设置某些位为1
1100010000101011
0000000000010000
x&1 = x (x表示一位二进制,可能是0或者1)
x&0 = 0
x|0 = x
x|1 = 1
异或运算的作用
x^1 = x(反)
x^0 = x
位于运算一般使用在电路中,用来控制电路。