类型 | 包含 | 默认值 | 大小 | 范围 |
boolean | true或false | false | 1位 | ------- |
char | unicode字符 | /uxxxx | 16位 | /u0000--/uffff |
byte | 有符号整数 | 0 | 8 | -128 ___127 |
short | 有符号整数 | 0 | 16 | -32768__32768 |
int | 有符号整数 | 0 | 32 | -214783648___2147483648 |
long | 有符号整数 | 0 | 64 | -9223372036854775808___9223372036854775808 |
float | IEEE浮点 | 0.0 | 32 | +-1.4E-45 ____+-3.4028235E+38 |
double | IEEE浮点 | 0.0 | 64 | +-4.9E-324____+-1.7976931348623157E+308 |
*整型和char之间可以互相转换.
*浮点型数据不能使用16进制或者8进制麦乳精表示,因为它不能够用任何有限的位数精确地表示它们,故也不能用逻辑==来表示它们之间的关系.
* a*=2 与 a=a*2是不同的.第一种运算完后把结果又存入了同一个变量中,第二种是可把变量存到指定的变量名中.
*位操作与移位
按位和移位运算是低级运算,它们对构成一个整数值的单独的位进行操作.按位运算中最常用的用法是检测或者设置一个值的单独标志位.必须理解二进制中补码格式.
左移 相当于将这个数与2的N次方相乘
右移 相当于将这个数除2的N次方.(取模)
无符号右移(>>>)则不管最高位是什么,都将0置于高位,这也叫零扩展.