Java位运算符
位运算符
把操作数转为二进制,参与运算,最终的到二进制的结果转为十进制
- & : 比较统一位置的两个数,如果一个0就是0,两个都为1才是1
- | : 比较统一位置的两个数,如果一个1就是1,两个都为0才是0
- ^ : 比较统一位置的两个数,相同为0,不同为1
位移运算符
右移 把二进制的第一个操作数向右移动第二个操作数个位数,移出的数据不要,剩下的二进制转为十进制
- 8>>3 —> 8/2^8
- << 左移 把二进制的第一个操作数向做移动第二个操作数个位数,空余位补0,转为十进制
- 8<<3 --> 8*2^3
运算符的优先级:
- 单目算数位关系,逻辑三目后赋值
public class Demo09{
public static void main(String[] args){
System.out.println(2&3);
System.out.println(2|3);
System.out.println(2^3); //1
System.out.println(8>>2); //2
System.out.println(8>>3); //1
System.out.println(8<<2); //32
System.out.println(8<<3); //64
/*
练习:自由赋值
boolean x = a < b ? ++a * 2 > b || a > b : a < b;
System.out.println(x);
*/
}
}
还没有评论,来说两句吧...