05/06. 类型转换

发布时间 2023-10-13 11:54:37作者: 宁宁宁宁宁宁宁宁

public class Deom05 {
public static void main(String[] args) {
int i = 128;
byte b = (byte) i;//内存溢出
double c = i;
//强制转换 (类型)变量名 高----低
//自动转换 低-----高

System.out.println(i);
System.out.println(b);
System.out.println(c);

/*
注意点
1.不能对布尔值进行转换
2.不能把对象类型转换为不相关的类型
3.在八大容量转换到低容量的时候,强制转换
4.转换的时候可能存在内存溢出,或者精度问题
*/

System.out.println("======================================");
System.out.println((int) 25.3);//25
System.out.println((int) 15.15f);//15

System.out.println("======================================");
char d = 'a';
int f = d+1;
System.out.println(f);
System.out.println((char) f);

System.out.println("======================================");

//操作比较大的数的时候,注意溢出问题
//JDk7新特性,数字之间可以用下划线分割
int money = 10_0000_0000;
int years = 20;
int total = money*years;//-1474836480 , 计算的时候溢出
long total2 = money*years;//默认是int , 转换前已经存在问题
long total23 = money*((long)years);//20000000000 先把一个数转化为Long

 

System.out.println(total23);


}
}