类型范围小的变量,可以直接赋值给类型范围大的变量。
public class Demo1 {
public static void main(String[] args) {
byte a = 10;
int b = a;
System.out.println(a);
}
}
输出结果:10
1.2 为什么要学习自动类型转换?存在不同类型的变量赋值给其他类型的变量 二、表达式的自动类型转换 2.1 转换规则
在表达式中,小范围类型的变量会自动转换成当前较大范围的类型再运算。
public class Demo2 {
public static void main(String[] args) {
byte a = 10;
int b = 20;
double c = 1.0;
double sum = a + b + c;
System.out.println(sum);
}
}
输出结果:31.0
2.2 表达式的最终结是由谁决定的?表达式的最终结果类型由表达式中的最高类型决定。 2.3 表达式中有哪些类型转换是需要注意的?
byte short char 是直接转换成int类型参与运算的。 三、强制类型转换 3.1 什么是强制类型转换?
可以强行将类型范围大的变量、数据赋值给类型范围小的变量。数据类型 变量 = (数据类型)变量、数据
public class Demo3 {
public static void main(String[] args) {
int a = 20;
byte b = (byte) a;
System.out.println(b);
}
}
数据结果:20
3.2 强制类型转换有哪些需要注意的?可能出现数据丢失。小数强制转换成整数是直接截断小数保留整数。



