Java基本数据类型


    刚开始学习java时候一直对java的基本数据类型和引用类型双类型表示很困惑,搜了下资源发现java界对保留基本数据类型也很是争议。最近看了篇文章讲了java为什么保留基本数据类型进行解释(提高性能),该文章作者也收到oracle发来邮件明确表示未来不会考虑移除基本数据类型。http://www.importnew.com/11915.html

一:字节与字符

    计算机存储信息的最小单位,称之为位(bit),音译比特,二进制的一个“0”或一个“1”叫一位。计算机存储容量基本单位是字节(Byte),音译为拜特,8个二进制位组成1个字节。JVM中单个字符占用的字节长度跟编码方式有关,而默认编码方式,又跟平台是一一对应的或说平台决定了默认字符编码方式所以不同虚拟机实现方式不同。

二:基本数据类型

Java提供了八种基本类型:


1、int类型

   int是最常用的整数类型,一个int类型的变量占用4个字节,即32位的内存空间。Int的最大表示范围为:-231~231-1,即-2147483648~2147483647,大约正负21个亿多些。

   1)两个整数相除会舍弃小数部分。

   2)在运算时小心溢出和丧失精度。

   3)注意int、Integer、String三者互相转换。

2、long类型

   在表示整数时,如果int类型的范围不够,可以使用long类型,一个long型的变量占用8个字节(即64位),最大表示范围为:-263 ~ 263-1,即 -9223372036854775808 ~ 9223372036854775807。

    1)如果要直接表示long直接量,要在数据末尾加上L或者l。

3、double类型和float类型

   前面所学习的int、long都是用于存储整数的,小数即为浮点数,包括: float(单精度)和double(双精度),double类型的精度值是float类型的两倍,因此而得名双精精,在实际的应用开发中,float应用极少,大多数场合使用double表示浮点数。

   默认的浮点直接量为double型,如果需要表示float类型的直接量,需要加“f”或“F”后缀,并且2进制无法精确表示1/10所以在double运算过程中会丧失精度。

4、char类型

    char字符型,但是可以表示成整型,很多人疑惑char到底占用几个字节?java采用unicode,2个字节(16位)来表示一个字符,char = "a";char ="中"; 他们分别占用一个和两个字节,这里仅仅是代表占用,因为英文仅仅使用下八位就是可表达所以占一个字节,而汉字却要使用上八位和下八位所以占两个字节,总结来说java中char占两个字节16位。

5、boolean类型

   boolean类型适用于关系、逻辑运算, 表示某个条件是否成立, 只允许取值true或false,true表示条件成立,而false表示条件不成立。

6、short类型和byte类型

   这两种可以当做整型看待。

7、基本数据类型之间的互相转换

   1)小类型到大类型java会隐式转换:


   2)大类型到小类型需要强制转换(可能会丧失精度或溢出)。



 







 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值