美文网首页Java学习笔记
Java的八种基本数据类型详解

Java的八种基本数据类型详解

作者: 这是朕的江山 | 来源:发表于2016-05-11 15:51 被阅读3569次

今天去笔试一家小公司发现自己的Java基础知识太薄弱,所以决定恶补自己的Java。如题,这个问题在今天的笔试题中出现了,在其他面试BAT的同学的面经中也有看过,属于基础题,但却很容易被人忽略,比如我。

Java的八种数据类型包括:四种整型,两种浮点型,一种字符型,一种用于表示真值的布尔型。

String不是基本数据类型。

1.整型

来自Java技术核心卷1

以上图片详细说明了Java的四种整型的分类、占据的存储空间和取值范围,整型可以表示计算机中常用的四种进制:二进制、八进制、十进制和十六进制。二进制的数需要在前面加上0b,如0b101表示5;八进制需要在数字面前加上0,如010表示十进制中的8,但这样容易混淆,所以不建议使用八进制;十六进制的数需要在前面加上0x,比如0x11表示17

与C++中整型的区别:

a.Java中的整型存储要求与机器无关,从一台机器移植到另外一台机器上运行不会报错;C++中的整型存储与机器有关,比如int型在16位的机器上占用2字节,在32位的机器上占用4字节,而在64位的机器上占用8字节,所以在32位机器上写的代码放到16位的机器上运行可以会发生溢出。

b.Java中没有无符号整数而C++有(unsigned类型)

2.浮点型

来自Java技术核心卷1

一个不加任何修饰符的小数默认为double类型,float类型的小数需要在小数后面加上后缀F加以区分,如3.14F

注意:

a.double类型中有三个特殊的常量:Double.POSITIVE_INFINITY、Double.NEGATIVE_INFINITY和Double.NaN,分别表示正无穷大、负无穷大和非数值。

b.浮点数使用二进制系统进行表示,所以计算时会有误差,比如System.out.print(2.0-1.1);输出是0.8999999999999999。

c.使用String.format("%.xf",a);方法可以指定小数保留小数点后x位输出,其中x表示保留小数点后的位数,a为你要输出的数字。如图:

来自我的eclipse

这几行代码段输出结果是:

来自我的eclipse

3.字符型

字符型只有一种,就是char,用单引号括住一个字符来表示,如'a',与字符串要区别开来,字符串使用双引号来表示,如"a"。

有一些有特殊意义的字符,在字符面前加/加以区分,如/u表示这是一个Unicode字符,还有一些特殊的转义字符,如下图:

来自Java技术核心卷1

4.布尔型

布尔型是最简单的数据类型,它只有两个值,true和false,在判断时使用。

与C++的区别:

C++中0可以代替false,非0值相当于true,但在java中不可以这样,如:if(x=0)在C++中永远为false,因为它先把0赋值给x然后判断x是否不等于0,而在java中这种情况会报错:不能将其他类型转化成布尔型。

That's all.

相关文章

网友评论

    本文标题:Java的八种基本数据类型详解

    本文链接:https://www.haomeiwen.com/subject/mflurttx.html