# 关系运算符 ```instanceof```
instanceof 严格来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例
位运算符:
&(与) |(或) ^(抑或) ~(取反) >>(右移) <<(左移) >>>(不带符号右移)
byte a=0b1001;
byte b=0b0110;
System.out.println(a);//9
System.out.println(b);//6
System.out.println(a&b);//与,0b0000=0
System.out.println(a|b);//或,0b1111=15
System.out.println(a^b);//抑或(相同为1,不同为0),0b1111=15
System.out.println(~b);//b的值内存中为0b0000_0110,按位取反后0b1111_0110(补码)=-7
/*
0000 0010 (2)
2进制,<<相当于*2,>>相当于/2
*/
//例如面试题:2*8计算机最快可以这样算
System.out.println(2<<3);//2*(2*2*2)=16
自动类型转换问题:
运算结果的数据类型是操作数中类型最高的数据类型;
但是注意:
short a=10;
byte c=8;
byte b=(byte)(a+c);//a+c会自动升型为int类型
注意:
System.out.println();
会存在自动类型转换问题
System.out.println(""+10+20);//1020,先字符串会把后面当做字符串
System.out.println(10+20+"");//30,这时候先计算10+20