类型转换
由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换
转换规则:
由低到高
低——————————————》高
byte short char, int, long, float, double
在运算中,不同类型的数据转化为同一类型,然后进行运算.
具体代码
public class demo05 {
public static void main(String[] args) {
int i = 128;
byte b = (byte)i;//内存溢出(尽量避免该情况)
double d = i;
//强制转换 (类型)变量名 高--->低
//自动转换 低-->高
//低--------------------------->高
//byte short char-->int-->long-->float-->double
System.out.println(i);
System.out.println(b);
System.out.println(d);
System.out.println((int)56.8);//精度出现问题
System.out.println((int)-65.56f);//精度出现问题
System.out.println("========================");
char c = 'a';
int i1 = c+1;
System.out.println(i1);
System.out.println((char)i1);
/*
注意点:
1.不能对布尔值进行转换.
2.不能把对象类型转化成不相干的类型.
3.把高容量转化到低容量的时候进行强制转换.
4.转换的时候可能出现内存溢出或精度问题.
*/
System.out.println("=================================");
//操作数比较大的时候,注意溢出问题
//JDk新特性,数字之间可以用下划线分割
int money = 1000_0000_00;
int year = 20;
int total = money*year;
long total2 = money-year;
System.out.println(money);
System.out.println(total);//-1474836480, 计算时溢出
System.out.println(total2);//默认是int,转换前已经出现问题了.
long total3 =money*((long)year);//先把一个属转换为long
System.out.println(total3);
//
}
}