类型转换
byte,short,char——int——long——float——double
低————————————————————高
public class day03 {
public static void main(String[] args) {
int i=128;
// byte b=i ;报错
byte b = (byte)i ;//内存溢出 超过大小
//强制转换 格式: (类型)变量名 高到低
//自动转换 低到高 直接转换
System.out.println(i );
System.out.println(b );
/*注意点
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.再把高容量转换成低容量的时候,强制转换
4.转换时可能存在内存溢出,或精度问题
*/
System.out.println("4.————————————————————————");
System.out.println((int)54.2); //54
System.out.println((int)-44.21f);//44
System.out.println("4.————————————————————————");
char c='a';//a:97
int d=c+1;
System.out.println(d );
System.out.println((char)d );
}
}
public class day0302 {
public static void main(String[] args) {
//操作数比较大的时候,注意溢出问题
//JDK新特性,数字之间可以用下划线分割
int money =10_0000_0000;//下划线不会被输出
int years=20;
int total=money *years ;//-1474836480,计算式溢出了
long total2=money *years;//-1474836480,默认是int,转换之前已经存在问题了
long total3=money *(long)years ;//先把其中一个转换成long
System.out.println(total);
System.out.println(total2);
System.out.println(total3);
// L l
}
}
变量