[code=java]public class Test04 {
public static void main(String[] args) {
int num = Integer.MIN_VALUE;
if (num < 0 && num == Math.abs(num)) {
System.out.println("Hello World!");
}
}
}[/code]
Hello World!是可以打印出来的,说明Math.abs(Integer.MIN_VALUE)结果还是 Integer.MIN_VALUE,abs()方法的帮助文档里就有这句:
注意,如果参数等于 Integer.MIN_VALUE 的值(即能够表示的最小负 int 值),则结果与该值相同且为负。
可这是为什么呢,求高人解答 |
|