左移右移:
<<:左移其实就是乘以移动的位数次幂
>>:右移其实就是除以移动的位数次幂
>>>:无符号右移
与运算、或运算、异或运算
位运算细节
从上面可以看出,位运算可以用来加密
最有效率的算出2*8的结果?
将两个整数的值进行互换(不通过第三方变量)?
利用位运算及与运算完成进制之间的转换?
十进制换算成二进制
&1,一直右移1位直至移光
十进制换算成8进制
&7,一直右移3位直至移光
十进制换算成16进制
&15,一直右移4位直至移光
上面的存在问题,换算成十六进制结果是否大于10这是未定的。
我们可以通过三元运算符做改进
System.out.println(n1>9 ? (char)(n1-10+’A’):n1);
格式:
条件(true/false)? 表达式1 :表达式2
备案号:湘ICP备19000029号
Copyright © 2018-2019 javaxl晓码阁 版权所有