boolean 类型不能转换为其他的数据类型
- 默认转换 : 范围小的数据类型直接转换为范围大的数据类型
- 转换规则 : byte,short,char -> int -> long -> float -> double
- 注意事项 : byte,short,char 互相之间不转换,他们参与运算会先转换为int类型
- 格式 : 范围大的数据类型 变量名 = 范围小的数据类型值
- 图解 :
public class Demo01 {
public static void main(String[] args) {
//直接输出了运算的结果
System.out.println(3 + 4);
//定义两个int类型的变量
int a = 3;
int b = 4;
int c = a + b;
System.out.println(c);
//定义一个byte类型,定义一个int类型
byte bb = 2;
int cc = 5;
System.out.println(bb + cc);
//能不能不直接输出,用一个变量接收呢?
//用变量接收,这个变量应该有类型
//byte dd = bb + cc;//可能损失精度
//byte,short,char类型在参与运算的时候会把自己提升为int类型
int dd = bb + cc;
System.out.println(dd);
}
}
- 强制转换 : 表示范围大的数据类型强制转换为范围小的数据类型
- 格式 : 范围小的数据类型 变量名 = (范围小的数据类型)范围大的数据类型值
- 不建议 可能损失精度
- 代码演示 :
- 格式 : 范围小的数据类型 变量名 = (范围小的数据类型)范围大的数据类型值
public class Demo02 {
public static void main(String[] args) {
int a = 3;
byte b = 4;
int c = a + b;
//byte d = a + b;//可能损失精度
byte d = (byte) (a + b);
}
}