1. Java的数据类型一共分为两大类:一类是基本数据类型;另一类是引用类型。
- 基本数据类型包括:整型(byte,short,int,long),浮点型(float,double),字符型(char),boolean型。
- 引用类型:除了基本数据类型意外的其它类型都是引用类型。
2. 整型数的范围:(整型数在Java里面以二进制补码的形式存在,范围如下)
- byte -128~127;
- short -32768~32767;
- int 0x80000000~0x7fffffff
- long 0x8000000000000000~0x7fffffffffffffff
3. Java里面,虽然有byte跟short类型,但是在运算的时候,默认都会补成32为的形式进行运算。即正数前面补零,负数前面补一。
4. int类型字面量,如果不超出范围,可以给小类型赋值。例如:0xffffffff 可以赋值给byte,因为它在byte跟int里面,都代表十进制数-1。但是0x80不可以,因为它在int里面代表十进制的128,但是byte的范围是-128~127,超出范围了。
5. Java里面运算的时候默认的数据类型是int型。
6. 浮点数分为单精度跟双精度:
- 单精度浮点数float,占据32个二进制位,其中有一个是符号位,8个指数位,剩下23个位用来存放数据。
- 双精度浮点数double,占据64个二进制位,其中有一个符号位,11个指数位,剩下52个位用来存放数据。
7. 整型数int占据32个位,1个符号位跟31个有效位。从这点可以看出,整型数的精确度比float型的精确度高。
8. 几个数据范围精确度的比较:
- 按照精度(位数):float < int < double < long
- 按照范围:int < long < float < double
上述比较是基于各个类型的边界条件而来的。
9. 浮点数的计算有时候也是不精确的,例如:2.6-2D 得出的结果肯定不是0.6。
10. 字符类型 char, 是一个16位无符号整数,是一个二进制数的数值,也是一个字符的unicode编码值。字符的字面量用单引号表示:‘中’ 'A' 。
11. 将数字字符转换为对应的整数数字的方法为: X-'0'。 例如:'9'-'0'=9. 这样我们就可以算出字符0-9所对应的整数。
12. 转义字符:
- '\0' ==\u0000==0 它是字符类型最小值,是不可见控制字符,是C语言中字符串结束字符!
- '\t' tab;
- '\n' next line;
- '\r' 回车;
- ....
- 我们可以用'\u+4位16进制数'来表示字符。例如'\u0041'=='A'==65。
- 不建议在字符串中出现'\0'.