On Java:中文版·基础卷
上QQ阅读APP看书,第一时间看更新

4.2 优先级

当多个操作符同时存在时,操作符的优先级决定了表达式的计算顺序。Java对计算顺序做了特别规定。最简单的规则就是先乘除后加减。程序员经常会忘记其他优先级规则,然后用括号来明确指定计算顺序。例如,下面的语句[1]和语句[2]:

这两个语句看起来基本相同,但是从输出结果可以知道,由于使用了括号,它们具有迥然不同的含义。

需要注意的是,System.out.println()语句中使用了操作符+。在这里+意味着字符串连接,而且如果需要,它还会执行字符串转换。当编译器看到一个字符串后面紧跟着一个+和一个非String类型的元素时,它会尝试着将这个非String类型的元素转换为String类型。如同上文输出结果展示的那样,它成功地为变量a和b处理了从int到String的类型转换。