基本数据类型转化
- 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时,不是四舍五入,而是掉尾巴方法(即直接去掉小数部分)!
举栗子: