美文网首页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