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; // 先加法后除法
通过使用括号和优先级规则,你可以确保表达式按预期执行,减少错误并提高代码的可读性。