-
由低到高
byte,short,char ----> int ----> long ----->float -----> double
-
运算顺序
先转换类型,再计算
-
计算规则
由高到低,需要强制转换;由低到高,自动转换
public class Demo1 { public static void main(String[] args) { int i = 128; //强制转换 byte j = (byte)i;//byte最大为127 内存溢出 double k = i; System.out.println(i); System.out.println(j); System.out.println(k); System.out.println((int)23.7); System.out.println((int)-23.79f);//-23 精度 char c = 'a'; int d = c+1; System.out.println(d); System.out.println((char)d); } }
输出结果 128 -128 128.0 23 -23 98 b
注意计算顺序,先换类型,后计算
有时候要注意内存溢出问题
public class Demo2 { public static void main(String[] args) { // *** 作数较大时,注意溢出问题 int money = 10_0000_0000; int years = 20; int total = money * years; long total2 = money * years; long total3 = money * (long)years; System.out.println(total); System.out.println(total2); System.out.println(total3); } }
输出结果
-1474836480
-1474836480
20000000000
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)