类型转换
类型转换
Java在运算时需要用到类型转换
运算中,不同的数据类型要转换成同一类型才可继续运算
public class Demo03 {
public static void main(String[] args) {
int i = 128;
byte n = (byte)i;//类型转换,但是此部分的byte的最大值是127,转换时内存溢出了,所以输出了-128
//强制转换 (转换后的数据类型)+变量名 -----高内存到低内存需要强制转换(高---低)
int a = 200;
double b = a;
//自动转换 (低---高)
System.out.println(i);
System.out.println(n);
System.out.println("=========================");
System.out.println(a);
System.out.println(b);
/*
注意点:1.不能对布尔值进行一个转换
2.不能把对象类型转换成不相关的类型
3.把大容量转换成低容量时使用“强制转换”
4.强制转换时可能会出现内存溢出问题,或者精度问题
*/
//JDK7新特性,数字之间使用下划线来分割
int x = 10_0000_0000;
System.out.println(x);//输出为1000000000
int y = 20;
int z = x*y;//此时若输出z则会导致内存溢出
System.out.println(z);
long z2 = x*y;//因为在转换成long类型之前就已经内存溢出所以输出的z2和上面的z是一样的
System.out.println(z2);
long z3 = (long)x*y;//先转换成了long类型再进行的计算则是正确的
System.out.println(z3);
}
}

浙公网安备 33010602011771号