Java中的数据类型和运算符
基本数据类型:boolean、byte、char、short、int、long、float与duoble,无须初始化即可
使用。
引用类型:类(class)、接口(interface)、数组,使用前须初始化或实例化。
另:
(1)与“&”和短路与“&&”区别:
“&”要求所有条件都判断,“&&”第一个条件为false时后面的条件不再判断(即若后面的条件为表达式时也不会执行)。
(2)“|”要求所有条件都判断,“||”第一个条件为true时后面的条件不再判断。
又另:
左移(<<):正负数左移之后符号位不变空位补0,正数原码计算,负数补码计算
如:(+3<<2) = 12 0000 0000 0000 0000
0000 0000 0000 0011 +3
左移两位 0000 0000 0000 0000
0000 0000 0000 1100 +12
(-3<<2) = -12 1111 1111 1111 1111
1111 1111 1111 1101 -3补码
左移两位 1111 1111 1111 1111
1111 1111 1111 0100 -12补码
取反+1 1111 1111 1111 1111
1111 1111 1111 1100 -12
右移(>>):正数原码计算,负数补码计算,整体右移之后空位以符号位补充
如:(+3>>2) = 0
(-3>>2) = -1
无符号右移(>>>):正数原码计算,负数补码计算,整体右移之后空位以0补充
如:(+3>>>2) = 0
(-3>>>2) = 1073741823
无符号左移(<<<)(java无该运算符)