在 Java 中,取反操作包括兩種,即邏輯取反和按位取反。
邏輯取反使用 "!" 運算符,可以將一個布爾類型的值取反,如下所示:
boolean flag = true; flag = !flag; System.out.println(flag); //輸出 false
按位取反操作使用 "~" 運算符,可以將一個整數的二進制表示的每一位取反,如下所示:
int num = 8; //二進制表示為 0000 1000 num = ~num; //取反后二進制表示為 1111 0111,對應的十進制值為 -9 System.out.println(num);
需要注意的是,按位取反后得到的結果是一個負數,因為 Java 中采用了補碼的方式表示負數。比如上面的例子中,原數為 8,二進制表示為 0000 1000,按位取反后得到的結果是 1111 0111,這個二進制數對應的十進制數是 -9,因此得到的結果是負數。