A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

不可能发生的事:
来个填空题哈。在空格上填上适当的数,让下面的程序能输出“Hello World!”。
public class Test {
public static void main(String[] args) {
   int num = ______;
   if (num < 0 && num == Math.abs(num)) {
    System.out.println("Hello World!");
   }

}
}

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1

查看全部评分

2 个回复

倒序浏览
Integer.MIN_VALUE的值为-2的32次方,即二进制位中最高位(符号位)为“1”,其余的位均为“0”的四字节数。Math.abs的运算是先看看参数的值是否是小于零的,若是小于零的,在前面加个负号(-),加负号的运算也就相当于,把整个二进制位取反再加1,Integer.MIN_VALUE,取反后最高位为“0”,其余都为“1”了,再加“1” 之后即得到了自身

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1

查看全部评分

回复 使用道具 举报
-2147483648
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马