zoukankan      html  css  js  c++  java
  • 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型数据,用户需要自己执行强制处理

     

    运行结果:

     

  • 相关阅读:
    数据结构之 移位操作
    大话设计模式之外观模式
    JSP的内置对象(application)
    从键盘输入一个整数(1~20) 则以该数字为矩阵的大小,把1,2,3…n*n 的数字按照顺时针螺旋的形式填入其中。
    linux线程应用
    【网络挖掘:成就与未来方向】之网络挖掘应用程序与相关概念
    Thinking in Java之匿名内部类
    [Go] map
    [跟着hsp步步学习系统]oracle培训学习集锦全360度扫描(2)
    HDU3791:二叉搜索树
  • 原文地址:https://www.cnblogs.com/qq1335210739/p/10265771.html
Copyright © 2011-2022 走看看