1、Java变量有8个基本类型,它们所占的字节数以及取值范围如下:
boolean 8位,1个字节 (false true\false boolean flag=true)
int 32位,4个字节 (0 -2^31—-2^31-1 int i=10)
float 32位,4个字节 (0.0f -2^31—-2^31-1 float f=10.0F)
double 64位,8个字节 (0.0d -2^63—-2^63-1 double d=10.0;)
char 16位,2个字节 (‘ \u0000′ 0—-2^16-1 char c=’c’ )
byte 8位,1个字节 (0 -2^7—-2^7-1 byte b=10)
short 16位 ,2个字节 (0 -2^15—-2^15-1 short s=10)
long 64位, 8个字节 (0 -2^63—-2^63-1 long o=10L)
2、Java“>>>”运算符所作的是无符号的位移处理,它不会将所处理的值的最高位视为正负符号,所以作位移处理时,会直接在空出的高位填入0。
常见如下(注:没有这两种运算符”<<<“、”<<<=“)
~ 按位非(NOT)(一元运算)
& 按位与(AND)
| 按 位或(OR)
^ 按位异或(XOR)
>> 右移
>>> 右移,左边空出的位以0填充
<< 左移
&= 按位与赋值
|= 按位或赋值
^= 按 位异或赋值
>>= 右移赋值
>>>= 右移赋值,左边空出的位以0填充
<<= 左移赋值