java运算符分算术、关系、逻辑、位、赋值、条件等类,需理解行为、善用括号控序;整数除法截断、%符号同被除数、+优先拼接字符串、==比地址、equals比内容。

Java 运算符种类多、用途广,但掌握起来并不难。关键是分清类别、理解行为、用括号控制顺序——优先级不必硬背,靠括号明确逻辑更安全可靠。
按功能划分的常用运算符
Java 运算符主要分以下几类,每类有典型代表:
-
算术运算符:+、-、*、/、%、++、--
注意整数除法自动截断小数(如7 / 2得3),%的结果符号与被除数一致(如-7 % 3是-1)。 -
关系运算符:==、!=、>、=、全部返回
boolean值,不能连写(如a 是非法的,需拆成 <code>a )。 -
逻辑运算符:&&、||、!
&&和||支持短路求值(左边已能决定结果时,右边不执行),可避免空指针或除零异常。 -
位运算符:&、|、^、~、>、>>>
用于整数二进制位操作,比如n & (n - 1)可快速判断是否为 2 的幂(且 n > 0)。 -
赋值与复合赋值:=、+=、-=、*=、%= 等
所有复合赋值都隐含类型转换(如short s = 1; s += 2;合法,而s = s + 2;编译报错)。 -
条件(三元)运算符:? :
是唯一三目运算符,常用于简化单层 if-else 赋值,如int max = a > b ? a : b;。 -
其他重要运算符:
instanceof(类型检查)、.(成员访问)、new(对象创建)。
自增/自减和字符串拼接的易错点
这些看似简单,却是新手高频出错区:
- 前缀(
++a)先变后取,后缀(a++)先取后变;混合使用(如a++ + ++a)行为复杂,应避免。 -
+遇到字符串就转为拼接操作,且从左到右结合:"a"+1+2→"a12",而1+2+"a"→"3a"。 - 比较引用类型用
==比的是地址,判内容相等要用.equals()(字符串尤其注意)。
优先级不是靠记,而是靠括号
Java 运算符有 15 级优先级,从高到低包括括号、后缀自增、一元、算术、移位、关系、相等、位、逻辑、条件、赋值等。但实际开发中:
- 绝大多数人不会完整记住全部优先级,也没必要;
- 容易混淆的组合(如
&&和|、==和&)一旦混用,极易出错; - 加括号既提升可读性,又消除歧义,例如:
if ((a > 0) && (b 比 <code>if (a > 0 && b 更清晰可控。
结合性决定同级运算顺序
当多个同级运算符连续出现时,结合性起作用:
- 大多数双目运算符(如
+、-、*、/)是左结合,10 - 5 - 2等价于(10 - 5) - 2; - 赋值类(
=、+=)是右结合,a = b = 5等价于a = (b = 5); - 三元运算符
? :也是右结合,a ? b : c ? d : e等价于a ? b : (c ? d : e)。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











