Java基本数据类型

本文记录下Java的基本数据类型的大小和自动拆装箱的概念。
Java基本数据类型的大小
boolean 1bit
char 16bit
byte 8bit
short 16bit
int 32bit
long 64bit
float 32bit
double 64bit

自动拆装箱
自动拆装箱是指计算数值时,Integer会自动转为int进行计算,而当int传入类型为Integer的引用时,int数值又会被包装为Integer。基本数据类型的常量池是-128到127之间,在这个范围中的基本数据类的包装类可以自动拆箱,比较时直接比较数值大小。

public static void main(String[] args) {
		// TODO Auto-generated method stub
		//int的自动拆箱和装箱只在-128到127范围中进行,超过该范围的两个Integer的 == 判断是会返回false的。
		 	Integer a1 = 128;
		    Integer a2 = -128;
		    Integer a3 = -128;
		    Integer a4 = 128;
		    System.out.println(a1 == a4);//false
		    System.out.println(a2 == a3);//true
		    
		    Long c1 = 128L;
		    Long c2 = 128L;
		    Long c3 = -128L;
		    Long c4 = -128L;
		    System.out.println(c1 == c2);//false
		    System.out.println(c3 == c4);//true


		    //char没有负值
		    //发现char也是在0到127之间自动拆箱
		    Character d1 = 128;
		    Character d2 = 128;
		    Character d3 = 127;
		    Character d4 = 127;
		    System.out.println(d1 == d2);//false
		    System.out.println(d3 == d4);//true
		    
		    Integer i = 10;
		    Byte b = 10;
		    //比较Byte和Integer.两个对象无法直接比较,报错
		    //System.out.println(i == b);
		    System.out.println("i == b " + i.equals(b));//false
		    //答案是false,因为包装类的比较时先比较是否是同一个类,不是的话直接返回false.
		    int ii = 128;
		    short ss = 128;
		    long ll = 128;
		    char cc = 128;
		    System.out.println("ii == ss " + (ii == ss));//true
		    System.out.println("ii == ll " + (ii == ll));//true
		    System.out.println("ii == cc " + (ii == cc));//true
		    //这时候都是true,因为基本数据类型直接比较值,值一样就可以。

	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值