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

Java 其他運算子深度解析:遞增減、正負號、條件運算子與括號

     編輯:Java 相關知識

遞增 (++) 與遞減 (--) 運算子

只能操作**變數**,不可用於常數、運算式或 final 變數:


(a + b)++;  // 錯誤
final int M = 1; M++;  // 錯誤
5++;  // 錯誤

前置 vs 後置:變數值相同,表達式值不同

寫法變數值變化整個式子的值
++n / --n+1 / -1變化**後**的值
n++ / n--+1 / -1變化**前**的值

範例驗證


int n = 1, m = 1;
n++;  // n=2,式子值=1
++m;  // m=2,式子值=2

int k = n++;  // n 初始 2 → n++ 值 2 → n=3, k=2
int j = ++m;  // m 初始 2 → ++m 值 3 → m=3, j=3

綜合演練


int a = 0, b = 0;
a = b++;  // a=0, b=1
a = ++b;  // a=2, b=2
b = a++;  // a=3, b=2
a = ++b;  // a=3, b=3

建議:雖可簡化代碼,但增加閱讀難度,**不推薦在複雜表達式中混用前後置**。

正負號 (+、-)

  • 正號通常可省略
  • 負號可與數值、變數、運算式結合

int a = 0, b = 1, c = -5;
c = -a;
c = -(a + b);

條件運算子 (?:) —— 三元運算子

語法


條件式 ? 值1 : 值2
  • 條件式必須為 boolean
  • 值1、值2 必須能轉換為相同類型

功能

條件 true → 取值1;false → 取值2。

範例


int x = 10, y = 20;
int max = x > y ? x : y;  // 取較大值

int a = -10;
int abs = a > 0 ? a : -a;  // 求絕對值

括號 () 運算子

提升括號內運算優先級,用法同數學:


int a = 1 + 2 * 3;      // 7(先乘後加)
int a = (1 + 2) * 3;    // 9(括號優先)

每個運算子都有優先級,括號可強制指定計算順序。

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