类型转换
public class Demo1 {
public static void main(String[] args) {
int i=128;
byte b=(byte)i;//内存溢出
double b1=i;
//强制转换 (类型)变量名 高--低
//自动转换 低--高
System.out.println(i);
System.out.println(b);
System.out.println(b1);
System.out.println("=========================");
System.out.println((int)23.67);//23
System.out.println((int)6.895);//6
/* 注意点:
1.不能对布尔值进行转换。
2.不能把对象类型转换为不相干的类型。
3.在把高容量转化为低容量的时候,强制转化。
4.转换的时候可能存在内存溢出,或精度问题。
*/
System.out.println("=========================");
//操作比较大的数字时,要注意溢出问题。
//JDK7后新特性:数字之间可以用下划线分隔开,且不影响输出。
int f=10_1110_0000;
int h=20;
int r=f*h;//-1252836480 ,计算的时候溢出了。
long r1=f*h;//默认是int,转换之前已经出问题了。
long r2=f*((long)h);//先把一个数转化成long.
System.out.println(f);
System.out.println(r1);
System.out.println(r2);
}
}