基本数据类型
整型 | 大小 | 备注 |
---|
byte | 1个字节(8位) | 暂无 |
short | 2个字节(16位) | 暂无 |
int | 4个字节(32位) | 暂无 |
long | 8个字节(64位) | 直接赋值时要加上l或L(推荐L) |
浮点型 | 大小 | 备注 |
---|
float | 4个字节(32位) | 直接赋值时加上f或F |
double | 8个字节(64位) | 暂无 |
字符型 | 大小 | 备注 |
---|
char | 2个字节(16位) | Unicode编码,单引号赋值 |
布尔型 | 大小 | 备注 |
---|
boolean | 1位 | 只有ture与false |
引用类型
class
- 当一个类被创建时,引用变量会存放在栈中,被new出来实例对象放在堆中,栈中的引用变量会指向堆中的实例化对象
- 静态方法中,不能调用非静态方法与变量,因为静态变量与方法会首先被加载到一个内存中,而此时非静态变量与方法还没有被加载。
类的静态变量只会加载一次,即只在内存中存一次,后续被new出来的实例,只会在内存中增加非静态变量 - 类中的属性当没有直接初始化,或者没有通过构造函数初始化时,编译器会默认赋值
引用类型是null
,基本类型用默认值,int
是0
,布尔型是false
interface
暂无
enum
enum
类型变量只会在内存中创建一次,即无论有多少实例,地址都相同enum
变量可以使用==
比较,因为enum
只在内存中存一次。当然最好使用equals()
public class Main16 {
public static void main(String[] args) {
Weekday1 d1 = Weekday1.WED;
System.out.println(d1.dayValue);
System.out.println(d1);
}
}
enum Weekday1 {
MON(1, "星期一"), TUE(2, "星期二"), WED(3, "星期三"), THU(4, "星期四"), FRI(5, "星期五"), SAT(6, "星期六"), SUN(0, "星期日");
public final int dayValue;
private final String chinese;
private Weekday1(int dayValue, String chinese) {
this.dayValue = dayValue;
this.chinese = chinese;
}
@Override
public String toString() {
return this.chinese;
}
}