类型转换
由于Java是强类型语言,所以进行某些运算的时候,需要用到类型转换。
低---------------------------------> 高
byte,short,char->int->long->float->double
//小数的优先级大于整数
运算中,不同类型的数据先转化为同一类型,然后在进行运算。
-
强制类型转换
-
自动类型转换
package base;
public class Demo05 {
public static void main(String[] args) {
int i = 128;
byte b = (byte)i; //内存溢出
System.out.println(i);
System.out.println(b);
System.out.println("==========");
System.out.println((int)23.7); //23
System.out.println((int)-45.78f); //-45
System.out.println("==========");
char x = 's';
int f = x+2;
System.out.println(f); //输出:117
System.out.println((char)f); //输出:u
/*
注意点:
1.不能对布尔值进行转换
2.不能把对象类型转化为不相干的类型
3.在把高容量转化为低容量的时候,强制转换
4.转换的时候可能存在内存溢出,或者精度问题!
*/
}
}
package base;
public class Demo06 {
public static void main(String[] args) {
/*
操作比较大的时候,注意溢出问题
JDK7新特性,树脂基之间可以用下划线分割
*/
int money = 10_0000_0000;
System.out.println(money);
int years = 20;
int total = money*years;
long total2 = money*years;
long total3 = money*((long)years);
System.out.println(total); //-1474836480 计算溢出
System.out.println(total2);
//-1474836480 默认为int,转换之前就已经存在了
System.out.println(total3);
// 20000000000 先把一个数转换为long
}
}
标签:类型转换,int,money,System,println,out
From: https://www.cnblogs.com/blogearl/p/16934444.html