java中的类型转换
由于Java是强类型语言,所以要进行有些计算的时候,需要用到类型转换
低------------------------------------------>高
byte,short,char->int->long->float->double
-
运算中,不同类型的数据先转化为同一类型,然后进行运算。
-
强制类型转换 (高到低)
int i=10; byte b=(byte)i;
-
自动类型转换 (低到高)
int i=10; double d=i;
-
注意点
-
不能对布尔值进行转换
-
不能把对象类型转换为不相干的类型
-
在把高容量转换到低容量的时候,强制转换
-
转换的时候可能存在内存溢出,或者精度问题
public class Demo01 { public static void main(String[] args) { //操作比较大的的数字的时候,注意溢出问题 //JDK7新特性:数字之间可以用下划线分割 int money=10_0000_0000; int years=20; int total=money*years; //计算的时候溢出了 System.out.println(total); long total1=money*years;//默认是int,转换前已经存在问题了 System.out.println(total1); long toatl2=(long)money*years; System.out.println(toatl2); } }
-
-