1、!表示“非”,是一种逻辑运算。若a的真值为1则!a为0;若a的真值为0,则!a为1。
2、取反,是Java与C/C++使用补码来表示二进制数,在补码表示中,最高位为符号位,正数的符号位为0,负数为1。