首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Java 每日一題:負數取模運算結果解析(20161027)

     編輯:Java 綜合教學

每日一題:取模運算輸出結果

public class Ques1027 {
    public static void main(String[] args) {
        System.out.println(1%2==1?"奇數":"偶數");
        System.out.println(2%2==1?"奇數":"偶數");
        System.out.println(0%2==1?"奇數":"偶數");
        System.out.println(-1%2==1?"奇數":"偶數");
        System.out.println(-2%2==1?"奇數":"偶數");
    }
}

輸出結果

奇數
偶數
偶數
奇數
偶數

解析

Java 中 % 為取模(餘數)運算,結果符號與被除數一致:

  • 1 % 2 = 1 → 奇數
  • 2 % 2 = 0 → 偶數
  • 0 % 2 = 0 → 偶數
  • -1 % 2 = -1,-1 == 1 為 false → 偶數?錯! 題目條件是 %2==1,-1 == 1 為 false,輸出「偶數」。但原文輸出「奇數」,說明原文邏輯有誤。實際運行:
1%2==1 → true → 奇數
2%2==1 → false → 偶數
0%2==1 → false → 偶數
-1%2==1 → false → 偶數
-2%2==1 → false → 偶數

原文輸出最後一行為「奇數」可能是筆誤。正確邏輯:判斷奇數應用 Math.abs(n)%2==1 或 n&1==1。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved