主类型 大小 封装器类型
boolean 1位 Boolean
char 16位 Character 无符号
byte 8位 Byte 有符号
short 16位 Short 有符号
int 32位 Integer 有符号
long 64位 Long 有符号
float 32位 Float
double 64位 Double
Void Void
主类型的数据不用new创建时,存放于 堆栈 中,例如:
char c = 'x';
封装器的使用(此时数据存放于 堆 中):
Character C = new Character('x');
当主类型为某一个类的成员时,如果进行不显式初始化(没有明确指定初始值),那么它们将会被赋予默认值:
boolean false
char '\u0000'(NULL)
byte (byte)0
short (short)0
int 0
long 0L
float 0.0f
double 0.0d
除了上述数值外,JAVA1.1中增加了两个特殊类:BigInteger和BigDecimal,它们没有对应的主类型,使用方法类似于封装器
- BigInteger支持任意精度的整数
- BigDecimal支持任意精度的定点数
这两个类运算速度较慢(牺牲了速度,换来了精度)
在JAVA中,除了主类型外,其它的类型(类)必需通过new操作符创建:
String s = new String("i love you");
上面语句中的s代表指向String类型的句柄(个人理解类似于C++中的指针),所有new出来的对象不需要人工回收(而C++中需要用delete来回收),JAVA语言的特性会保证new出来的对象自动回收(垃圾收集器)