【Java基础】基础数据类型

1. 基础数据类型

类型 占用存储空间 表数范围 包装类 包装类缓存对象
byte 1字节=8bit -128~127 Byte -128~127
short 2字节 -215~215-1 Short -128~127
int 4字节 -231~231-1(约21亿) Integer -128~127
long 8字节 -263~263-1 Long -128~127
单精度float 4字节 -3.403E38 ~ 3.403E38 Float 没有
双精度double 8字节 -1.798E308 ~ 1.798E308 Double 没有
char 2字节 Character 0~127
boolean Boolean true和false

对于boolean类型的占用存储空间,

如果boolean是单独使用:boolean占4个字节。

boolean在底层实际会调用int,那么既然int占4个字节,boolean也自然占4个字节。即,boolean类型占4个字节。细节:true: 1 false: 0

如果boolean是以“boolean数组”的形式使用:boolean占1个字节。

2. 包装类的缓存机制

包装类是对Java中基本类型的封装,在 JDK5 中引入了包装类的缓存机制,有助于节省内存。实现方式是在类初始化的时,提前创建好会频繁使用的包装类对象,当需要使用某个类的包装类对象时,如果该对象包装的值在缓存的范围内,就返回缓存的对象,否则就创建新的对象并返回。

使用构造函数创建对象时不使用缓存,例如:Integer a = new Integer(123);

使用包装类时,推荐使用valueOf()方法,少使用parseXXX()方法

因为 Integer、Long 这种包装类有缓存机制,valueOf 方法会从缓存中取值,如果命中缓存,会减少资源的开销,parseXXX 方法没有这个机制。

3. 三元运算符与if判断的不同点

        Object o1 = true ? new Integer(1) : new Double(2.0);
        System.out.println(o1); // 1.0

你可能感兴趣的:(#,01,JAVA基础,java)