Java基础语法-数据类型转换
数据类型转换:
强制转换:从高到低,可能回出现内存溢出、或者精度问题
自动转换:从低到高
从低到高的顺序:byte short char int long float double
int a = 128; byte b = (byte)a; //-128(byte最大表示127,强制类型转换导致了内存溢出) double c = a; //128.0 自动转换
操作比较大的数字时,注意溢出
内存溢出的问题
int money = 10_0000_0000;//jak7新特性 输出1000000000 int year = 20; int total = money * year; //输出 -147...变成负数 long total2 = money * year; //输出 依然是负数 虽然进行了自动类型转换,但在int转long之前,就已经内存溢出了 long tatal3 = (long) money * year; //输出2000000000 因为在计算之前就先进行了int转long,计算时全部用long计算了

浙公网安备 33010602011771号