public class demo01 {
public static void main(String[] args) {
//自动类型转换:指的是Java语法允许将一个数据范围小的类型数据给大范围的变量赋值。(小的给大的)
byte a = 12;
//2.定义int类型的变量,int类型的范围比byte大
int b = a;
System.out.println(b);
//为什么允许呢?int的空间比byte大,放数据的时候不需要考虑是否放得下,一定放的下!
//定义一个double类型的变量,将b给他赋值
//double的范围比int大,所以允许直接赋值
double c = b;
//double类型的变量只能存储小数,所以12变成了12.0
System.out.println(c);
}
}
public class demo03 {
public static void main(String[] args) {
//强制数据转换类型:也叫显示转换!指的是可以利用格式强制计算机将大的给小的赋值
//格式:小范围的数据类型 变量名 = 需要强转的值;
//1.定义一个int类型的变量,赋值1
int a = 1;
//2、将a给byte类型的赋值
//byte b = a;
//用格式表现
byte b = (byte) a;
//3.强转有可能造成精度损失(数据不准确)
//也可以对字面量进行强转
byte c = (byte) 128;
//原本是正数,就变成了负数!这就是精度损失!一般不推荐!
System.out.println(c);
//4.小数也可以强转成整数
double d = 6.8;
//int e = d;
int e = (int) d;
//e是整数类型,所有只能存整数,而且是直接将小数舍弃
System.out.println(e);
//5.除了对变量、字面量可以强转,表达式也可以强转!
byte x = 1;
byte y = 2;
byte z = (byte) (x + y);
System.out.println(z);
}
}