位运算:
左移(<<):例子5<<2 = 20
5: 0000….0000 0101 向左移两位
——>0000….0001 0100 =20
右移(>>)同理
位与(&) : 都是1的情况下位与为1,其余为0
例子 5&3=1
5: 0000….0000 0101
&
3: 0000….0000 0011
= 0000….0000 0001 =1
位异或(^) : 0^1=1 1^1=0 0^0 =0
例子: 5^3=6
5: 0000….0000 0101
^
3: 0000….0000 0011
= 0000…..0000 0110 =6
位非(~): 取反
“==” 和 “equals”
“==”:对于基本数据类型而言比较的是内容(值)
对于引用型数据而言比较的是对象的地址
而equals的是:
object类中的equals()方法:
public boolean equals(Object obj)
{
//调用equal的对象的地址和参数对象的地址是否相等
return (this == obj);
}
所以一个引用数据类型没有重写equals方法,则和“==”一样
注:如有错误,欢迎指正,谢谢!