Java基础——基本数据类型

八种基本数据类型

可具体分为三类,数值类型byte、short、int、long、double、float,布尔类型boolean,字符类型char,其中数值类型又可分为,整数类型byte、short、int、long,浮点类型double、float。

基本类型byteshortintlongdoublefloatbooleanchar
二进制位数8163264643216
封装类ByteShortIntegerLongDoubleFloatBooleanCharacter
最大值Byte.MIN_VALUEShort.MIN_VALUE
最小值Byte.MAX_VALUEShort.MAX_VALUE

 

 

 

 

 

最大值最小值无需刻意记忆,其数值都已经在对应的包装类中定义,值得注意的是byte、short、int、long其最大值为对应类型的2的二进制位数减一次方再减去1,最小值为-2的二进制位数减一次方,有点拗口,例如:byte最大值为2^(8-1)-1即127,最小值为-2^(8-1)即-128,short、int、long同理,可方便记忆。
boolean的二进制位数百度得到的答案五花八门,有兴趣的可转(https://www.jianshu.com/p/2f663dc820d0)了解一下

基本类型与封装类

封装概念:隐藏对象的属性和细节,仅对外提供公共的方法进行访问。
为什么要封装:Java语言——一切皆是对象
基本类型与封装类区别:

  1. 基本类型存储在栈中,对象类型(封装类)则是在堆中创建,需要注意的是,对象类型的引用是在栈中创建,就效率而言,在栈中分配内存效率比在堆中分配内存效率要高,缺点是在栈中分配内存存在内存泄漏的问题;
  2. 基本类型是按值传递,封装类同为按值传递(需要提到一个概念,Java只有按值传递而没有按引用传递),不同的是,基本类型在函数调用时,传递的是值的副本,而封装类传递的是引用的副本。
    按值传递:指在函数调用时,传递的是值的副本(形参),在该函数中修改参数的值将不会影响到实际参数(实参);
    按引用传递:是指在函数调用时,传递的是对象的引用,指向的是同一个堆内存地址,也可理解为内存地址的传递,操作的都是同一个对象;
  3. 有些场合只能使用封装类,比如泛型、集合List;

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值