学习运算符
1,& 、|、 ^ 除了可以连接布尔类型外,还可以用来连接整数,短路运算符不能连接数字.
在连接数字的时候,是针对二进制进行运算的,
将连接的数字转成二进制的补码,逐位进行运算。
把 0 当做 false ,把1当做 true ~也是一个运算符,是把数字转成二进制的补码后逐位(包括符号位)取反
2,,位运算符
对二进制的补码做移位的操作 <<: 最高位丢弃,空位补 0 。向左移动
>>: 空位补最高位,向右移动
>>>: 无符号右移, 不管最高位是多少,最高位补 0
规律:左移几位就相当于乘以 2 的几次方; 右移几位就相当于除以 2 的几次方
3,三元运算符
格式:(关系表达式)?表达式 1:表达式 2;
如果条件为 true,运算后的结果是表达式 1
如果条件为 false,运算后的结果是表达式 2
好处:可以简化代码
弊端:不管是true还是false最后都必须要有一个结果
1,& 、|、 ^ 除了可以连接布尔类型外,还可以用来连接整数,短路运算符不能连接数字.
在连接数字的时候,是针对二进制进行运算的,
将连接的数字转成二进制的补码,逐位进行运算。
把 0 当做 false ,把1当做 true ~也是一个运算符,是把数字转成二进制的补码后逐位(包括符号位)取反
2,,位运算符
对二进制的补码做移位的操作 <<: 最高位丢弃,空位补 0 。向左移动
>>: 空位补最高位,向右移动
>>>: 无符号右移, 不管最高位是多少,最高位补 0
规律:左移几位就相当于乘以 2 的几次方; 右移几位就相当于除以 2 的几次方
3,三元运算符
格式:(关系表达式)?表达式 1:表达式 2;
如果条件为 true,运算后的结果是表达式 1
如果条件为 false,运算后的结果是表达式 2
好处:可以简化代码
弊端:不管是true还是false最后都必须要有一个结果