1整数类型
byte 占1个字节(1个字节在内存中占8位(位即bit)
short 占2个字节
int 占4个字节
long 占8个字节
2浮点型
float 占4个字节
double 占8个字节
3字符型
char 占2个字节,字符型数据是16位无符号整型数据,它表示Unicode集,取值范围是0~65535
4.左移位运算符(<<)
移位的结果是:左边的操作数乘以2的幂,指数的值是由右边的操作数给出的。
例如:128<<1 等于 128*2=256(左乘右除)
5.”有符号“右移位运算符
使用了符号扩展:若符号位为正,则在高位插入0;若符号位位负,则在高位插入1
例如:128>>1 等于 128/2=64 (左乘右除)
6 “无符号”右移运算符(>>>)
“零扩展”:无论正负,都在高位插入0
7左移赋值运算符(<<=)
运算符左边的值向左移动由右边的值指定的位数,再将结果赋回到左边
8右移赋值运算符(>>=)同上
9无符号右移赋值运算符(>>>=)同上
注:进行“无符号右移结合赋值操作时,可能会遇到一个问题:如果对byte或short值进行进行这样的移位运算时,得到的可能不是正确的结果,它们可能会先转换成int类型,再进行右移操作,但是”零扩展“(见上述的6)不会发生,所以在这种情况下会得到-1的结果。
时间: 2024-10-19 16:10:09