20. Java 在程序中使用运算符

71 阅读4分钟

20. Java 在程序中使用运算符

Java 中,运算符用于执行操作,如数学计算、逻辑运算、比较等。它们作用于一个、两个或三个操作数,然后返回结果。掌握 Java 运算符是编程的关键部分,它们广泛应用于实际编程中。

运算符的优先级

运算符的优先级决定了在表达式中,哪些运算符先执行,哪些运算符后执行。优先级高的运算符会先被计算。Java 中的运算符可以分为不同的类别,每个类别的运算符具有不同的优先级。

运算符优先级表
运算符类型运算符优先级
后缀运算符expr++ expr--1
一元运算符++expr --expr +expr -expr ~ !2
乘法运算符* / %3
加法运算符+ -4
移位运算符<< >> >>>5
关系运算符< > <= >= instanceof6
相等运算符== !=7
位运算符(按位与)&8
位运算符(按位异或)^9
位运算符(按位或)``
逻辑运算符(逻辑与)&&11
逻辑运算符(逻辑或)``
三元运算符? :13
赋值运算符= += -= *= /= %= &= ^= `=`

运算符的优先级越高,越早进行计算。运算符的计算顺序是从高到低进行的。如果有多个同级优先级的运算符,则按从左到右的顺序计算,除赋值运算符外,赋值运算符按从右到左的顺序计算。

常用的运算符

下面我们将介绍 Java 中常用的几类运算符,并附上示例代码。

1. 后缀运算符 (expr++, expr--)

后缀运算符用于对变量进行自增或自减操作,并且返回原始值。expr++ 会返回原值,然后将其增加 1

class PostfixDemo {
    public static void main(String[] args) {
        int x = 5;
        System.out.println(x++);  // 输出 5
        System.out.println(x);    // 输出 6
    }
}
2. 一元运算符 (++expr, --expr, +expr, -expr, ~, !)

一元运算符用于对单个操作数执行操作。

  • ++expr--expr 会先增加或减少操作数的值,然后返回修改后的值。
  • +expr-expr 用于表示正数和负数。
  • ~ 是按位取反运算符。
  • ! 是逻辑非运算符。
class UnaryDemo {
    public static void main(String[] args) {
        int x = 5;
        System.out.println(++x);  // 输出 6
        System.out.println(x--);  // 输出 6,之后 x 变为 5
        System.out.println(x);    // 输出 5
    }
}
3. 乘法、除法和取余运算符 (\*, /, %)

这些运算符用于执行基本的数学运算。

class ArithmeticDemo {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;
        System.out.println(a * b);  // 输出 30
        System.out.println(a / b);  // 输出 3
        System.out.println(a % b);  // 输出 1
    }
}
4. 加法和减法运算符 (+, -)

加法和减法运算符用于数字的加法和减法运算,+ 运算符也可以用于字符串拼接。

class AdditionSubtractionDemo {
    public static void main(String[] args) {
        int a = 10, b = 5;
        System.out.println(a + b);  // 输出 15
        System.out.println(a - b);  // 输出 5
    }
}
5. 关系运算符 (<, >, <=, >=, instanceof)

关系运算符用于比较两个值或对象的关系,返回布尔值 truefalse

class RelationalDemo {
    public static void main(String[] args) {
        int a = 5, b = 10;
        System.out.println(a < b);   // 输出 true
        System.out.println(a >= b);  // 输出 false
    }
}
6. 逻辑运算符 (&&, ||)

逻辑运算符用于布尔值的逻辑运算。

class LogicalDemo {
    public static void main(String[] args) {
        boolean a = true, b = false;
        System.out.println(a && b);  // 输出 false
        System.out.println(a || b);  // 输出 true
    }
}
7. 三元运算符 (? :)

三元运算符是一个简洁的条件运算符,用于根据条件返回两个值中的一个。

class TernaryDemo {
    public static void main(String[] args) {
        int a = 5, b = 10;
        int result = (a > b) ? a : b;  // 如果 a > b,则返回 a,否则返回 b
        System.out.println(result);  // 输出 10
    }
}
8. 赋值运算符 (=, +=, -=, \*=, /=, %=)

赋值运算符用于将值赋给变量。+=, -=, *=, /=, %= 等是复合赋值运算符,表示将某个操作的结果赋给变量。

class AssignmentDemo {
    public static void main(String[] args) {
        int a = 10;
        a += 5;  // 相当于 a = a + 5
        System.out.println(a);  // 输出 15
    }
}

总结

Java 中的运算符用于执行各种操作,如数学计算、逻辑运算、赋值等。掌握这些运算符的优先级和用法有助于编写高效且清晰的代码。常见的运算符包括:

  • 一元运算符++, --, +, -, !
  • 二元运算符+, -, *, /, %, ==, !=, &&, ||
  • 三元运算符? :
  • 赋值运算符=, +=, -=, *=, /=

通过理解和使用这些运算符,可以进行各种基本的编程任务,从简单的数学计算到复杂的逻辑判断。