int num1, num2;
long num3 = num1 * num2;
如果num1 * num2的结果大于int表示的最大范围,num3的值就是错误的。
正确做法:
把num1、num2其中一个或两个强转为long类型。
long num3 = (long)num1 * (long)num2;
错误做法:
long num3 = (long)(num1 * num2);
本文探讨了在Java编程中,当两个整数相乘可能导致的结果超出int类型范围时,如何正确进行类型转换以避免溢出错误。错误的做法是将乘积直接转换为long类型,而正确的做法是在乘法运算前分别将每个操作数转换为long类型。理解这个问题对于编写稳健的Java代码至关重要。
int num1, num2;
long num3 = num1 * num2;
如果num1 * num2的结果大于int表示的最大范围,num3的值就是错误的。
正确做法:
把num1、num2其中一个或两个强转为long类型。
long num3 = (long)num1 * (long)num2;
错误做法:
long num3 = (long)(num1 * num2);
560

被折叠的 条评论
为什么被折叠?