• Java数据类型相关知识点-整型


    数据类型在程序语言的构成要素里占有相当重要的地位。Java的数据类型可分为基本数据类型与引用数据类型两种,其中最基本的数据类型包括了最基本的byte、short、int、float、double、char、long、boolean等。而对于引用数据类型(类似于c/c++的指针),在操作时必须要进行内存的开辟。数据的类型划分如下所示:

     

    注:基本数据类型不牵扯到内存的开辟问题,而引用数据类型牵扯到内存的开辟。

    如果从开发角度来讲,以下的几种基本类型最为常用:

    ①    int型(-2147483648-2147483647):只要是看见了整数的定义,其类型都是整型,默认值为0;

    ②    double型(-1.7E308-1.7E308):只要看见了小数的定义,其类型基本都是double型,默认值为0.0;

    ③    byte型(-128-127):数据传输与IO和编码转换的时候使用此类型,默认值为0。

    ④    boolean型(true或false):用于程序的逻辑操作,默认值为false;

    ⑤    long型(-9223372036854775808-9223372036854775807):表示日期时间或文件长度的时候使用默认值为0。

    小提示:Java中可以方便地去每一个数据类型的最大值和最小值:

         如int型和double型:

               最大值:Integer.MAX_VALUE;

    Double.MAX_VALUE;

               最小值:Integer.MIN_VALUE;

                       Double.MIN_VALUE;

    注:在int型中,①最大值+1=最小值;②最小值-1=最大值

      

    运行结果:

    以上出现的结果称为数据的溢出,而解决溢出的主要方法是可以通过扩大数据范围来完成,比int大的范围是long,所以可以用如下两种方式完成:数字或变量L、(long)数字或变量。

    运行结果:

    在Java中,各个基本数据类型的转型操作流程为:

        ①范围小和范围大的两种数据操作,范围小的数据类型自动转换为范围大的数据类型,如:int+long=long;

        ②如果要把表示范围大的数据变成范围小的数据,则必须强制类型转换,如:int型=(int)long型。

     当强制转换的数据类型的数据值大于接收类型时,依然会存在数据溢出。如以下byte的验证:

    运行结果:

    原因:因为int型变量x保存的内容是200,这个数值已经超过了byte的数据范围(-128~127),所以仍然发生了数据溢出。

    注:对于byte的赋值操作Java有一个特殊支持。

    如果现在用户要定义byte型变量,那么会存在两种情况:

    ①定义的数值在byte范围之内:

    运行结果:

    原因:按照之前讲解的知识,只要是一个整数其类型就默认为int型,所以按照道理来说,这个时候应该进行强制类型转换才可以将20转换为byte型,可是Java中对于这种直接复制的操作会自动帮助用户将int转换为byte型,但这也只是针对byte数据而言。

    ②定义的变量数值不在byte范围内:

    运行结果错误提示:

     原因:由于此时200已经超过了byte的范围,所以程序在编译时就会明确地告诉用户,int型数据无法直接转换成byte型数据,用户需要自己执行强制处理

     

    运行结果:

     

  • 相关阅读:
    MySQL · 引擎特性 · InnoDB 事务锁简介
    锁大全与 GDB调试
    docker(4):coreos+docker+rancher真厉害
    TIDB ---NEW SQL
    Linux的内存回收和交换
    TLS握手优化详解
    北风网JAVA 大数据培训
    MySQL 5.7 深度解析: JSON数据类型使用
    MySQL 5.7 深度解析: 临时表空间
    在Linux最大打开文件数限制下 MySQL 对参数的调整
  • 原文地址:https://www.cnblogs.com/qq1335210739/p/10265771.html
Copyright © 2020-2023  润新知