java中int型数据在运算中如果超出有效范围造成精度损失如何解决 long a=123456789*123456789;//不加L会被视为int型,当两个int相乘的结果大于int范围时,就会却值 long b=123456789L*123456789L;//正常运行结果 System.out.println(a);//结果-1757895751 System.out.println(b);//结果15241578750190521 这里要生命两个long相加,在后面加L, 否则, 会损失精度, 变成一个负数。