Java数据类型转换及其原理
Java数据类型转换及其原理
数据类型分类
-
数据类型就是约束变量存储数据的形式
-
数据类型的分类
-
引用数据类型 除了基本数据类型之外的其它类型
-
基本数据类型 四类八种
- byte short int long 整型
- float double 浮点型
- char 字符型
- boolean 布尔型

23是int类型,加上L/l是long型数据
23.8是double类型,加上F/f是float类型
-
数据类型转换
- 自动类型转换
类型范围小的变量可以直接赋值给类型范围大的变量

-
表达式的自动类型转换
- 在表达式中,小范围类型的变量会自动转换成当前较大范围的类型再运算
- 表达式的最终结果由表达式中的最高类型决定
- 在表达式中,byte,short,char是直接转换成int类型参与运算的。
public class TypeTest { public static void main(String[] args) { byte a = 10; int b = 20; double c = 1.0; double res = a+b+c; System.out.println(res);//31.0 double res2 = a+b-2.3; System.out.println(res2);//27.7 byte i = 10; byte j = 20; char k = 'a'; int res3 = i+j+k; System.out.println(res3);//127 } } -
强制类型转换
-
问题:
- 类型范围大的数据或者变量,不能直接赋值给类型范围小的变量,会报错。
-
强制类型转换可以将类型范围大的变量,数据赋值给类型范围小的变量
- 数据类型 变量2 = (数据类型)变量1 数据
public class TypeTest1 { public static void main(String[] args) { int a = 10; // byte c = a;//报错 byte b = (byte)a; } } -
原理

-
强制类型转换可能造成数据(丢失)溢出。
-
浮点型强制转换成整型,直接丢掉小数部分,保留整数部分返回
-
-

浙公网安备 33010602011771号