1.& 运算符和 && 的用法和区别
& 运算符
false & true //0
true & false //0
true & true //1
false & false //0
&&运算符
false && true //false
true && false //false
true && true //true
false && false //false
&&输出结果,不再是0和1,而是true和false,同样可以用来作为判断条件,但是区别在于,&&优化了运算速度,只要前面一个条件为false了,就不再管后面的条件,直接输出false
数字&数字
如果是布尔类型的值进行&运算,输出的是0和1,&&运算输出的是true和false,
3 & 7 //3
16 & 30 //16
7 & 34 //2
4 & 8 //0
18 & 24 // 16
当数字&数字的时候,是把两个数字都转为二进制再逐位进行比较,同时为1的时候,该位则保留为1,否则该位保留为0
判断一个数是奇数还是偶数时可以用num&1,能提升逼格
数字&&数字
现在我们再来看看数字&&数字又会发生些什么
3 && 7 // 7
7 && 3 // 3
16 && 30 // 30
30 && 16 // 16
7 && 34 // 34
34 && 7 // 7
…
0 && 18 // 0
18 && 0 // 0
这个输出结果就不难看出规律了,数字&&数字当两个数字都不为0的时候,输出后面的数字,当其中一个数字为0的时候,输出0
‘&&’ 是一个神奇的运算符,规律就是左边判断为 true 的时候返回右边的结果,否则返回左边的结果