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

Java 入門教程:第三章 運算子完整指南(算術、關係、邏輯、位元、指派、條件)

     編輯:Java 程式設計入門

運算子分類概覽

運算子指明對運算元執行運算。依運算元個數分:一元(如 ++, -)、二元(如 +, >)、三元(?:)。依功能分七大類,本章講述前六類:

  1. 算術運算子
  2. 關係運算子
  3. 布林邏輯運算子
  4. 位元運算子
  5. 指派運算子
  6. 條件運算子

§ 3.1 算術運算子

作用於整數或浮點數資料。

一、二元算術運算子

運算子用法說明
+op1+op2加法
-op1-op2減法
*op1*op2乘法
/op1/op2除法
%op1%op2取模(求餘)

擴充功能:+ 可串接字串("abc"+"de" → "abcde"),第七章詳述。
差異:% 運算元可為浮點數(如 37.2%10 = 7.2),C/C++ 僅限整數。

二、一元算術運算子

運算子用法說明
++op正值
--op負值
++++op / op++加 1
----op / op--減 1

前綴 vs 後綴差異

  • i++:先使用 i 值,再使 i 加 1。表達式值為舊 i,i 變為 i+1
  • ++i:先使 i 加 1,再使用。表達式值與 i 均為 i+1
  • i--、--i 同理

範例 3.1:算術運算子綜合示範

public class ArithmaticOp {
    public static void main(String args[]) {
        int a = 5+4;        // 9
        int b = a*2;        // 18
        int c = b/4;        // 4
        int d = b-c;        // 14
        int e = -d;         // -14
        int f = e%4;        // -2
        double g = 18.4;
        double h = g%4;     // 2.4
        int i = 3;
        int j = i++;        // i=4, j=3
        int k = ++i;        // i=5, k=5
        // 列印所有變數...
    }
}

輸出驗證各運算結果。

§ 3.2 關係運算子

比較兩值,回傳 true/false(非 C/C++ 的 1/0)。皆為二元運算子:

運算子用法回傳 true 條件
>op1>op2op1 大於 op2
>=op1>=op2op1 大於等於 op2
<op1op1 小於 op2
<=op1<=op2op1 小於等於 op2
==op1==op2op1 等於 op2
!=op1!=op2op1 不等於 op2

特性:任意資料類型(基本與複合)皆可用 ==/!= 比較相等性(異於 C/C++)。常與布林邏輯運算子搭配作流程控制判斷條件。

§ 3.3 布林邏輯運算子

真值表:

op1op2op1&&op2op1||op2!op1
falsefalsefalsefalsetrue
falsetruefalsetruetrue
truefalsefalsetruefalse
truetruetruetruefalse
  • &&, ||:二元,邏輯與/或
  • !:一元,邏輯非
  • 短路求值:|| 左側為 true 則不算右側;&& 左側為 false 則不算右側

範例:關係與邏輯運算子結合

public class RelationAndConditionOp {
    public static void main(String args[]) {
        int a=25, b=3;
        boolean d = a5) System.out.println("a/e = " + a/e);  // 執行,輸出 8
        int f=0;
        if(f!=0 && a/f>5) System.out.println("a/f = " + a/f);  // f!=0 為 false,短路避免除零錯誤
        else System.out.println("f = " + f);  // 輸出 0
    }
}

§ 3.4 位元運算子

操作二進制位。除 ~ 為一元外皆為二元。運算元限整數與字元型別。

3.4.1 補碼表示

Java 使用補碼:最高位為號位(0 正、1 負)。正數最高位 0,其餘位表數值(如 +42 → 00101010)。負數將絕對值補碼逐位取反再加 1(-42 → 11010110)。0 補碼唯一(00000000),-1 為 11111111。

3.4.2 位元取反 ~

逐位翻轉:0010101 → 1101010。注意 ~21 ≠ -21。

3.4.3 位元與 &

對應位皆為 1 結果才為 1:0&0=0, 0&1=0, 1&0=0, 1&1=1

(本章內容未完,後續包含位元或 |、位元異或 ^、位移 >> << >>>、指派運算子 &= |= ^= 等、條件運算子 ?: 等)

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