28. Java中,什么是表达式?

122 阅读2分钟

28. Java中,什么是表达式?

表达式 是由变量、运算符、方法调用等组成的构造,它的计算结果会是一个单一的值。表达式可以包含常量、变量、运算符以及方法调用,并执行特定的计算。

📝 示例:简单表达式
int cadence = 0;  // 赋值表达式
anArray[0] = 100; // 数组赋值表达式
System.out.println("Element 1 at index 0: " + anArray[0]); // 字符串连接表达式

🔍 在这些例子中:

  • cadence = 0 是一个赋值表达式,它将 0 赋值给 cadence,并返回 0(数据类型是 int)。
  • anArray[0] = 100 是数组赋值表达式,它将 100 赋给数组 anArray 的第一个元素。
  • "Element 1 at index 0: " + anArray[0] 是一个字符串连接表达式,它将字符串与 anArray[0] 的值连接起来,并返回一个新的字符串。
🔗 复合表达式

复合表达式 是由多个简单表达式组合而成的,它能执行更复杂的操作。

int result = 1 * 2 * 3;  // 复合表达式,结果为 6

在这个例子中,表达式 1 * 2 * 3 会依次计算,并最终返回结果 6。🌟

⚖️ 优先级和括号

运算符的优先级决定了表达式中各部分计算的顺序。不同的运算符有不同的优先级,首先计算优先级较高的运算符。

例如,考虑下面这个表达式:

x + y / 100    // ambiguous (不明确)

由于除法运算符的优先级高于加法运算符,所以会先进行除法运算。如果你想明确运算顺序,可以使用括号:

(x + y) / 100  // unambiguous, recommended (明确)

为了避免混淆并提高代码可读性,推荐在复杂的表达式中使用括号来明确运算顺序。✅

🧩 示例:复杂表达式的使用
int x = 5, y = 100;
int result = (x + y) / 100;  // 先加法后除法

通过使用括号和优先级规则,你可以确保表达式按预期执行,减少错误并提高代码的可读性。