类型转换
+是一个运算符, 我们应该能够看懂,做数据的加法。
boolean类型不能转换为其他的数据类型
默认转换: 范围小的数据类型直接转换成范围大的数据类型
转换规则byte,short,char—int—long—float—double
注意事项byte,short,char相互之间不转换,他们参与运算首先转换为int类型
格式: 范围大的数据类型 变量 = 范围小的数据类型值;
图解:
代码演示:
public class Demo09TypeCast {
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 Demo10TypeCast {
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);
}
}