• Java数据类型


      我之所以写这篇博客,是因为我突然意识到基础的重要性,特别对于那些基础的东西,往往可能成为你以后面试的绊脚石,所以现在我们就必须清除这些障碍,下面我简单的总结一下Java的数据类型,大家看了就当做复习吧!

      Java语言支持两种类型:基本类型(Primitive Type)和引用类型(Reference Type),下面用一张图片略略展示一下:

      整数类型:

      这里我把byte、short、int、long、char,我之所以把char归纳进整数类型,因为它在内存中的存储方式也是跟其他整数类型的一样,只不过是在数值在拿出来的时候转化成特定的字符而已。

      下面我们看看这些类型的表示范围:

    类型 内存占用空间 范围
    byte 1个字节 -2^7 - 2^7-1
    short 2个字节 -2^15 - 2^15-1
    int 4个字节 -2^31 - 2^31-1
    long 8个字节 -2^63 - 2^63-1
    char 2个字节 0 - 2^16

      从上面我们可以看出几点:

      1.Java数据类型的范围是规定的,无论在windows还是linux,都一样,这样就保证了跨平台性。

      2.Java数据没有像C语言那样有signed和unsigned之分。

      3.char类型没有负数的概念。

      Java中整数的表达形式有两种必须掌握的,就是八进制和十六进制,八进制以0开头,十六进制以0x或者0X开头,其中10-15分别用a-f来(不区分大小写)表示。

     1 public class Scale {
     2 
     3     public static void main(String[] args) {
     4         
     5         /**
     6          * 八进制数
     7          * @author Guo
     8          */
     9         int a = 023;
    10         System.out.println(a);
    11         
    12         /**
    13          * 十六进制
    14          * @author Guo
    15          */
    16         int b = 0x32ac;
    17         System.out.println(b);
    18     }
    19 } 

      Java对于超出范围的数对怎么对待呢?

     1 public class OutOfBound {
     2 
     3     public static void main(String[] args) {
     4         
     5         /**
     6          * 这里输出127
     7          * @author Guo
     8          */
     9         byte a = 127;
    10         System.out.println(a);
    11     
    12         /**
    13          * 这里输出了-128
    14          * @author Guo
    15          */
    16         byte b = (byte) 128;
    17         System.out.println(b);
    18     }
    19 }

      Java对于超出范围的数,依然是按照补码的规则就是计算,就好像在一个范围内循环的感觉。

      

      浮点类型:

      Java的浮点类型有两种:float和double,浮点类型有固定的表示范围和字段长度,字段的长度也是与平台无关

    数据类型

    内存占用空间

    表示范围

    float

    4个字节

    -3.403E38-3.403E38

    double

    8个字节

    -1.798E308-1.798E308

      对于float类数值,第1位是符号位,接下来8位表示指数,再接下来的23位表示尾数;

      对于double型数值,第1位是符号位,接下来11位表示指数,再接下来的52位表示尾数。

      布尔类型:

      布尔型只有一个boolean类型,用于表示逻辑上的真假,在Java中,boolean数值只有true或者false

      空类型(null Type):

      就是null值的类型,这种类型没有名称,因为null类型没有名称,所以不可能声明一个null类型的变量或者转换到null类型,空引用(null)是null类型变量唯一的值,空引用可以转成任何引用类型。

      

  • 相关阅读:
    团队作业第四次—项目系统设计与数据库设计
    团队作业第三次—项目需求分析
    简时——alpha冲刺任务七(5.5)
    简时——alpha冲刺任务六(5.4)
    简时——alpha冲刺任务五(5.3)
    简时——alpha冲刺任务四(5.2)
    简时——alpha冲刺任务三(5.1)
    简时——alpha冲刺日志二(4.30)
    简时——alpha冲刺日志一(4.29)
    TimeMaster—代码规范、冲刺任务与计划
  • 原文地址:https://www.cnblogs.com/Ray-xujianguo/p/3328839.html
Copyright © 2020-2023  润新知