• 【java篇】你真的了解“基本数据类型”吗?


    目录

    基本介绍:        

    整数类型

    浮点类型 

    布尔类型和char类型

     自动类型转换

     数据类型转换必须满足如下规则:


    基本介绍:        

            Java是一门强类型语言,这就意味着必须为每一个变量声明一种类型。Java为我们提供了八种基本类型(primitive type),其中又分为4种整数类型2种浮点类型1种字符类型char

    整数类型

    基本数据类型字节数默认值范围包装数据类型
    byte10-2^7—2^7-1Byte
    short20-2^15—2^15-1Short
    int40-2^31—2^31-1Integer
    long80-2^63—2^63-1Long

     当我们在给long类型赋值时,如果常量超出int类型的表示范围,就需要在数字后面加上后缀L或l,像下面这样就会报错;

     之所以要加L或l,是因为数字常量默认为int类型,而上面这个数字很明显已经超出int范围了;

    浮点类型 

    基本数据类型字节数默认值包装数据类型备注
    float40.0fFloat数字后加f
    double80.0dDouble

     其中double类型的数值精度是float类型的两倍,所以也被称为双精度类型

    值得注意的是:float类型的数值后面有一个后缀F或f (例如3.14F) ,如果没有后缀的情况下3.14会被默认为double类型,你也可以写成3.14D或3.14d;但是如果你写成下面这样就会报错;

    浮点型(float/double) 用来表示浮点数据,实际以指数形式存储,所以和实际值之间有偏差。

    1,为 float 类型赋值必须在数字后加 f,否则数字默认被识别为 double 类型,会导致赋值出错。

    2,数字基本类型都包含最大最小值常量,如 Integer.MAX_VALUE 和 Integer.MIN_VALUE .

    3,在浮点型有三个特殊数值表示溢出和出错:

        POSITIVE_INFINITY :正无穷大,正数除以 0 可以得到。

        NEGATIVE_INFINITY :负无穷大,负数除以 0 可以得到。

        NaN :非数,零除以 0 可以得到。(两个 NAN 值也不相等) 

    布尔类型和char类型

    基本数据类型字节数默认值包装数据类型备注
    char2'\u0000‘(或0)Character必须用单引号
    boolean1falseBoolean

     自动类型转换

    整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。

    转换从低级到高级。

     数据类型转换必须满足如下规则:

    • 1. 不能对boolean类型进行类型转换。

    • 2. 不能把对象类型转换成不相关类的对象。

    • 3. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。

    • 4. 转换过程中可能导致溢出或损失精度,例如:

      1. int i =128;
      2. byte b = (byte)i;

      因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。

    • 5. 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入,例如:

    1. (int)27.9 == 27;
    2. (int)-45.89f == -45

  • 相关阅读:
    electron应用打包成功纪念一下
    Github每日精选(第9期):bcc跟踪内核和操作程序的工具集
    9、IOC 之基于注释的容器配置
    推荐系统 | 基础推荐模型 | 特征交叉 | FM | FFM | PyTorch实现
    14:00面试,14:06就出来了,问的问题有点变态。。。
    uni-app 企业微信开发导入jweixin-1.2.0.js文件
    使用Spring进行文件的上传和下载
    CI/CD - jenkins
    微信小程序 电影院售票选座票务系统5w7l6
    Python 配置pyqt5开发环境
  • 原文地址:https://blog.csdn.net/m0_64231944/article/details/127912111