Java中基本数据类型(四类八种):
- 整数类型: byte short int long
- 浮点类型: float double
- 字符类型: char
- 布尔类型: boolean
所占字节数、默认值以及取值范围:
数据类型 | 所占字节数量 | 默认取值 | 取值范围 |
---|---|---|---|
byte | 1 | 0 | -128 ~ 127 |
short | 2 | 0 | -32768 ~ 32767 |
int | 4 | 0 | -2147483648 ~ 2147483647 |
long | 8 | 0 | -2^63 ~ 2^63-1 |
float | 4 | 0.0f | 指数位: 2^(-127) ~ 2^128 |
double | 8 | 0.0d | 指数位:2^(-1023) ~ 2^1024 |
char | 2 | "\u0000 " | 0~65535 |
boolean | 1 | false | false 和 true |
注意:虽然boolean表现出非0即1的“位”特性,但存储空间的基本计量单位是字节,不是位,所以boolean至少占1个字节。在JVM规范中,boolean变量当作int处理,也就是4字节;而boolean数组当作byte数组处理,即boolean数组中的每一个元素都占1个字节。
引用类型包括三种: 类 Class、接口 Interface、数组 Array。
引用类型一般都是new出来的,比如Integer max = new Integer();它存放在内存的堆中,可以在运行时动态的分配内存大小,生存期也不必事先告诉编译器,当引用类型变量不被使用时,Java内部的垃圾回收器GC会自动回收走。引用变量中存放的不是变量的内容,而是存放变量内容的地址。
equals 和“= =” 最大的区别是一个是方法一个是运算符 。
“==”:
如果比较的对象是基本数据类型,则比较的是数值是否相等;如果比较的是引用数据类型,则比较的是对象的地址值是否相等。
equals():用来比较方法两个对象的内容是否相等。
注意:
equals 方法不能用于基本数据类型的变量,如果没有对 equals 方法进行重写,则比较的是引用类型的变量所指向的对象的地址。