public class Conversion {
public static void main(String[] args) {
int i = 128;
byte b = (byte)i; //因为byte最大值为127,但是这里超过最大/小值,就会内存溢出情况
System.out.println(i);
System.out.println(b);
//强制转换 : 格式——(类型)变量名 从高——>低
//自动转换 : 从低——>高
int i1 = 128;
double b1 = i;
System.out.println(i1);
System.out.println(b1);
//不能对布尔值进行转换
//int i3= 123;
//boolean b3 = i3; 这样会直接报错
/*
注意点:
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量转换为低容量的时候,强制转换
4.转换的时候可能存在内存溢出,或者精度的问题!
*/
System.out.println( "=======================================");
System.out.println((int)23.7); //double类型转换为整数。值为 23
System.out.println((int)-45.89f); //float类型转换为整数。值为 -45
System.out.println("=========================================");
char c = 'a';
int d = c+1; //从低到高,自动转化为字节相加
System.out.println(c);
System.out.println(d);
System.out.println("===========================================");
char c1 = 'a';
int d1 = c+1;
System.out.println(c1);
System.out.println((char)d1); //从低到高,强制转换为对应的字符
}
}