基本数据类型转化

  • 2020 年 12 月 17 日
  • 筆記

基本类型转换

一、数据类型

数据类型包括基本数据类型和引用数据类型。

1、基本数据类型有四大类八小种

  • 整型:byte(1字节)、short(2字节)、int(4字节)、long(8字节)
  • 浮点型:float(4字节)、double(8字节)
  • 字符型:char(2字节)
  • 布尔型:boolean(1 bit)

2、引用类型

记住,除了基本数据类型,其他都为引用类型。

举几个栗子吧,类、接口、数组……

二、基本数据类型转换

1、在类型转换之前,我们首先要清楚基本数据类型的级别(从高到低):

​ double > float > long > int > byte、short、char

2、转换分为自动转换和强制转换

  • 自动转换

    当一种基本数据类型转换为比它高级的基本数据类型时,计算机可以自动转换

  • 强制转换

    当一种基本数据类型转换为比它低级的基本数据类型时,需要我们手动进行强制转换

3、强制转换要点

  • 转换格式

    在高级类型前加小括号,括号内为要转化的低级类型。

    举栗子说明:

    //将double型转化为int型
    int a = 0; 
    double b = 3.11;
    a = (int) b;
    
  • 应用:多种数据类型参与表达式计算

    注:在四大类八小种基本数据类型中,整型、字符型、浮点型都可以参与运算,但唯独布尔类型不可参与运算。

    运算过程:

    计算机在运算过程中,会找到级别最高的类型,然后将其余类型全部转化为当前表达式级别最高的类型,再进行运算。

  • 特殊情形一

    对于byte、short、char这三类,只要数值在它们可以表示的范围内,赋值时无需进行转化。

    举栗子:


    分析: 12在byte可表示范围内,而270不在,又因为整数会默认为int型,int型级别高于byte,因此不强制转化会出错!
    ——————————————————————————————————————————————————————————————————————————————————————————————————————————
    接着上面的栗子,看看通过强制转换的结果是什么样子


    ——————————————————————————————————————————————————————————————————————————————————————————————————————————
    有木有发现270变为14了!
    接下来,我带你进行内存分析,告诉你why!

  • 特殊情形二:double强制转化为int时,不是四舍五入,而是掉尾巴方法(即直接去掉小数部分)!

    举栗子: