Java 中的杂项运算符

2025年8月4日 | 阅读 5 分钟

在 Java 中,杂项运算符是指那些不属于算术、逻辑、位、关系、一元、移位和三元运算符类别的运算符。这些运算符通常具有专门的用途,并且可以简化某些编码模式。

杂项运算符的类型

  1. 三元运算符
  2. instanceof 运算符
  3. 成员访问或点运算符
  4. new 运算符
  5. 类型转换运算符
  6. 数组索引运算符

三元运算符 (? :)

三元运算符的作用与 if-else 语句相同。该运算符称为三元运算符,因为它需要三个操作数:一个布尔表达式,如果表达式为 true 则返回的值,以及如果表达式为 false 则返回的值。

它可以使代码更具可读性和简洁性。它特别适用于基于条件分配值。

语法

了解更多请访问 Java 中的三元运算符

示例:三元运算符

示例

编译并运行

输出

15 is an even number? false

解释

在上面的程序中,条件是 number%2==0,第一个表达式为 true,第二个表达式为 false。条件检查数字是偶数还是奇数。如果数字是偶数,则返回 true,否则返回 false。

instanceof 运算符

instanceof 运算符允许我们确定一个对象是否是特定类、子类或接口的实例。它返回一个布尔值,true 或 false。

语法

使用此运算符,我们可以在转换对象之前执行类型检查,这有助于防止运行时错误并提高代码的整体健壮性。

了解更多请访问 Java instanceof 运算符

示例:instanceof 运算符

示例

编译并运行

输出

true

成员访问或点 (.) 运算符

该运算符用于访问对象的成员(字段或方法)或类的静态成员。它用点 (.) 符号表示。

示例:成员访问或点 (.) 运算符

示例

编译并运行

输出

125

解释

在上面的程序中,我们定义了一个名为 Calculator 的类,并定义了一个名为 cube() 的静态方法。在 main() 方法中,我们使用成员访问运算符访问了静态方法。该静态方法计算我们调用 cube() 方法时传递给它的数字的立方。

new 运算符

Java 提供 new 运算符来创建类的新实例。它为对象分配内存。

了解更多请访问 Java 中的 new 关键字

new 运算符的用法

  • 它实例化一个类并调用其构造函数。
  • 它初始化一个数组并为其分配内存。
  • 它也适用于创建匿名对象。
  • 它可以创建内部类的实例。
  • 当不传递任何参数时,它使用默认构造函数。

示例:new 运算符

示例

编译并运行

输出

Invoking method

解释

在上面的程序中,我们创建了一个 Main 类并定义了一个名为 display() 的方法。在 main() 方法中,我们使用 new 运算符创建了 Main 类的一个实例,并调用了 display() 方法。

类型转换运算符

类型转换运算符用于将一个值从一种数据类型显式转换为另一种数据类型。

有两种类型的类型转换

  • 自动类型转换
  • 强制类型转换

了解更多请访问 Java 中的类型转换

示例:类型转换运算符

示例

编译并运行

输出

Before conversion: 166.66
After conversion into long type: 166
After conversion into int type: 166

数组索引运算符

Java 数组的元素使用数组索引运算符声明和访问。它用方括号 [] 表示。例如,

示例:数组索引运算符

示例

编译并运行

输出

10
20
70
40

结论

在计算机编程领域,杂项(或 misc)运算符,例如三元运算符,是高效简洁编码的有效工具。它们提供了一种简短的方式来编写条件逻辑,从而可能使代码运行更快、更易读。

杂项运算符选择题

1. 下列哪个运算符用于创建类的实例?

  1. 点运算符
  2. instanceof 运算符
  3. new 运算符
  4. 类型转换运算符
 

答案:C

解释: Java 提供 new 运算符来创建类的新实例。它为对象分配内存。


2. 数组索引运算符用 ____________ 表示。

  1. ()
  2. []
  3. {}
  4.  
 

答案:B

解释: Java 数组的元素使用数组索引运算符声明和访问。它用方括号 [] 表示。


3. 对象创建的内存分配由 __________ 完成。

  1. allocate operator
  2. acquire operator
  3. new operator
  4. 以上全部
 

答案:C

解释: Java 中的内存分配是通过 new 运算符实现的。


4. 成员访问运算符用 ____________ 表示。

  1. %
  2. ->
  3. .
 

答案:D

解释: 成员访问运算符用点 (.) 表示。


5. 三元运算符的替代方法是 __________。

  1. if-else 语句
  2. Switch 语句
  3. 1 和 2 都是
  4. 以上都不是
 

答案:A

解释: 三元运算符的作用与 if-else 语句相同。该运算符称为三元运算符,因为它需要三个操作数:一个布尔表达式,如果表达式为 true 则返回的值,以及如果表达式为 false 则返回的值。