Java程式設計基礎:全面掌握運算子
在Java程式設計中,運算子是用於執行程式程式碼運算的符號。它們可以對變數和值執行各種操作,如算術運算、比較、邏輯判斷等。本文將詳細探討Java中的各種運算子,包括算術運算子、關係運算子、賦值運算子、邏輯運算子、位運算子和三目運算子,並提供相應的程式碼示例和詳細解釋。
算術運算子
算術運算子用於執行基本的數學運算。
- +:加法運算子。用於將兩個數值相加。如果兩邊的運算元都是數值型別,則執行加法運算;如果兩邊的運算元都是字串,則執行字串連線。
int a = 10; int b = 5; int sum = a + b; // 結果為15 String str1 = "Hello"; String str2 = "World"; String result = str1 + str2; // 結果為"HelloWorld"
- -:減法運算子。用於從一個數值中減去另一個數值。
int difference = a - b; // 結果為5
- *:乘法運算子。用於將兩個數值相乘。
int product = a * b; // 結果為50
- /:除法運算子。用於將一個數值除以另一個數值。
double quotient = (double)a / b; // 結果為2.0
- %:取模運算子。返回兩個數值相除的餘數。
int remainder = a % b; // 結果為0
- ++:自增運算子。將變數的值增加1。
a++; // a的值現在是11
- --:自減運算子。將變數的值減少1。
b--; // b的值現在是4
關係運算子
關係運算子用於比較兩個值,並返回一個布林值(true
或 false
)。
- ==:等於。比較兩個值是否相等。
boolean isEqual = (a == b); // 結果為false
- !=:不等於。比較兩個值是否不相等。
boolean isNotEqual = (a != b); // 結果為true
- >:大於。比較第一個值是否大於第二個值。
boolean isGreater = (a > b); // 結果為true
- <:小於。比較第一個值是否小於第二個值。
boolean isLess = (a < b); // 結果為false
- >=:大於等於。比較第一個值是否大於或等於第二個值。
boolean isGreaterEqual = (a >= b); // 結果為true
- <=:小於等於。比較第一個值是否小於或等於第二個值。
boolean isLessEqual = (a <= b); // 結果為false
賦值運算子
賦值運算子用於將值賦給變數。
- =:賦值運算子。將右邊的值賦給左邊的變數。
int num = 10; // 將10賦值給num
- +=:加法賦值運算子。將左邊的變數與右邊的值相加,並將結果賦值給左邊的變數。
num += 5; // 相當於num = num + 5,現在num的值是15
- -=:減法賦值運算子。將左邊的變數與右邊的值相減,並將結果賦值給左邊的變數。
num -= 3; // 相當於num = num - 3,現在num的值是12
- *=:乘法賦值運算子。將左邊的變數與右邊的值相乘,並將結果賦值給左邊的變數。
num *= 2; // 相當於num = num * 2,現在num的值是24
- /=:除法賦值運算子。將左邊的變數除以右邊的值,並將結果賦值給左邊的變數。
num /= 4; // 相當於num = num / 4,現在num的值是6
- %=:取模賦值運算子。將左邊的變數對右邊的值取模,並將結果賦值給左邊的變數。
num %= 3; // 相當於num = num % 3,現在num的值是0
邏輯運算子
邏輯運算子用於執行邏輯運算。
- &&:邏輯與。如果兩個運算元都為
true
,則結果為true
。boolean andResult = (a > b) && (a < 100); // 結果為true
- ||:邏輯或。如果兩個運算元中至少有一個為
true
,則結果為true
。boolean orResult = (a > b) || (a < 0); // 結果為true
- !:邏輯非。對運算元的布林值取反。
boolean notResult = !(a == b); // 結果為true
位運算子
位運算子用於對整數的二進位制位進行操作。
- &:按位與。對兩個整數的每一位執行邏輯與操作。
int andResult = a & b; // 結果為0,因為10和3的二進位制表示沒有相同的1位
- |:按位或。對兩個整數的每一位執行邏輯或操作。
int orResult = a | b; // 結果為11,因為10和3的二進位制表示至少有一位是1
- ^:按位異或。對兩個整數的每一位執行邏輯異或操作。
int xorResult = a ^ b; // 結果為9,因為10和3的二進位制表示不同的位是1
- ~:按位取反。對整數的每一位執行邏輯取反操作。
int notResult = ~a; // 結果為-11,因為10的二進位制表示取反後加1
- >>:右移。將整數的二進位制表示向右移動指定的位數。
int rightShiftResult = a >> 1; // 結果為5,因為10的二進位制表示右移1位
- <<:左移。將整數的二進位制表示向左移動指定的位數。
int leftShiftResult = a << 1; // 結果為20,因為10的二進位制表示左移1位
三目運算子
三目運算子用於基於條件表示式的結果來選擇兩個值中的一個。
- 條件表示式 ? 表示式1 : 表示式2:如果條件表示式為
true
,則結果為表示式1,否則為表示式2。int score = 85; String grade = (score >= 90) ? "A" : "B"; // 結果為"B"