更新於 2024/07/04閱讀時間約 9 分鐘

Java入門-Day5:運算符

    算數運算子

    Java中的算數運算子用於進行基本的數學運算,如加、減、乘、除等。以下是主要的算數運算子:

    運算子包括:

    • 加法:a + b
    • 減法:a - b
    • 乘法:a * b
    • 除法:a / b
    • 取餘數:a % b
    • 自增1:a++ 或 ++a
    • 自減1:a-- 或 --a

    範例程式碼:

    public class ArithmeticOperators {
    public static void main(String[] args) {
    int a = 10;
    int b = 3;
    System.out.println("a + b = " + (a + b));
    System.out.println("a - b = " + (a - b));
    System.out.println("a * b = " + (a * b));
    System.out.println("a / b = " + (a / b));
    System.out.println("a % b = " + (a % b));
    a++;
    System.out.println("a++ = " + a);
    b--;
    System.out.println("b-- = " + b);
    }
    }

    比較運算子

    比較運算子用於比較兩個值,返回布林值truefalse。以下是主要的比較運算子:

    運算子包括:

    • 等於:a == b
    • 不等於:a != b
    • 大於:a > b
    • 小於:a < b
    • 大於或等於:a >= b
    • 小於或等於:a <= b

    範例程式碼:

    public class ComparisonOperators {
    public static void main(String[] args) {
    int a = 10;
    int b = 20;
    System.out.println("a == b: " + (a == b));
    System.out.println("a != b: " + (a != b));
    System.out.println("a > b: " + (a > b));
    System.out.println("a < b: " + (a < b));
    System.out.println("a >= b: " + (a >= b));
    System.out.println("a <= b: " + (a <= b));
    }
    }

    賦值運算子

    賦值運算子用於將值賦給變數。以下是主要的賦值運算子:

    運算子包括:

    • 賦值:a = b
    • 加且賦值:a += b
    • 減且賦值:a -= b
    • 乘且賦值:a *= b
    • 除且賦值:a /= b
    • 取餘且賦值:a %= b
    • 位元與且賦值:a &= b
    • 位元或且賦值:a |= b
    • 位元異或且賦值:a ^= b
    • 左移且賦值:a <<= b
    • 右移且賦值:a >>= b
    • 無符號右移且賦值:a >>>= b

    範例程式碼:

    public class AssignmentOperators {
    public static void main(String[] args) {
    int a = 10;
    int b = 5;
    a += b;
    System.out.println("a += b: " + a);
    a -= b;
    System.out.println("a -= b: " + a);
    a *= b;
    System.out.println("a *= b: " + a);
    a /= b;
    System.out.println("a /= b: " + a);
    a %= b;
    System.out.println("a %= b: " + a);
    }
    }

    位元運算子

    位元運算子用於對二進制位進行操作。以下是主要的位元運算子:

    運算子包括:

    • 位元與:a & b
    • 位元或:a | b
    • 位元異或:a ^ b
    • 位元取反:~a
    • 左移:a << 2
    • 右移:a >> 2
    • 無符號右移:a >>> 2

    範例程式碼:

    public class BitwiseOperators {
    public static void main(String[] args) {
    int a = 5; // 0101 in binary
    int b = 3; // 0011 in binary

    System.out.println("a & b: " + (a & b)); // 0001 -> 1
    System.out.println("a | b: " + (a | b)); // 0111 -> 7
    System.out.println("a ^ b: " + (a ^ b)); // 0110 -> 6
    System.out.println("~a: " + (~a)); // 1010 -> -6
    System.out.println("a << 1: " + (a << 1)); // 1010 -> 10
    System.out.println("a >> 1: " + (a >> 1)); // 0010 -> 2
    System.out.println("a >>> 1: " + (a >>> 1)); // 0010 -> 2
    }
    }

    運算子的優先等級

    運算子的優先等級決定了在沒有明確使用括號的情況下,運算子在表達式中被求值的順序。以下是一些常見運算子的優先等級,從高到低排列:

    1. 括號 ()
    2. 一元運算子 ++, --, +, -, ~, !
    3. 乘法和除法 *, /, %
    4. 加法和減法 +, -
    5. 移位運算子 <<, >>, >>>
    6. 比較運算子 <, <=, >, >=
    7. 相等運算子 ==, !=
    8. 位元與 &
    9. 位元異或 ^
    10. 位元或 |
    11. 邏輯與 &&
    12. 邏輯或 ||
    13. 三元運算子 ? :
    14. 賦值運算子 =, +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=, >>>=

    範例程式碼:

    public class OperatorPrecedence {
    public static void main(String[] args) {
    int a = 10;
    int b = 5;
    int c = 2;

    // 優先級範例
    int result = a + b * c; // 10 + (5 * 2) -> 10 + 10 -> 20
    System.out.println("a + b * c = " + result);

    result = (a + b) * c; // (10 + 5) * 2 -> 15 * 2 -> 30
    System.out.println("(a + b) * c = " + result);

    result = a / b * c; // (10 / 5) * 2 -> 2 * 2 -> 4
    System.out.println("a / b * c = " + result);

    result = a % b + c; // (10 % 5) + 2 -> 0 + 2 -> 2
    System.out.println("a % b + c = " + result);
    }
    }



    分享至
    成為作者繼續創作的動力吧!
    © 2024 vocus All rights reserved.