Java的运算符
-
算术运算符:+ - * / % ++ –
其中++与–运算符有两种格式
-
j = i++/i–
运算符在变量之后,会先进行赋值,然进行自增或自减。在JVM中先将i的值从局部变量表中放入操作数栈,然后执行inc指令,将局部变量表中的i的值加或者减1,然后再将操作数栈中的值(未变化前的值)赋给j。
-
j = ++i/–i
运算符在变量之前,会先进行自增或自减,然进行赋值。在JVM中先将局部变量表中i的值进行加或者减1,然后将局部变量表中i的值放入操作数栈中,再将操作数栈中的该值赋值给局部变量表中的j,这是的j的值是变化后的值。
-
-
赋值运算符: =
-
关系运算符:> < >= <= == != instanceof
A instanceof B是判断A是否是B的实例,若A是B类的实例或者子类实例,那么一样是true
-
逻辑运算符:&& || !
A&&B 全真为真,有假就为假,并且A为false,就不用判断B的真假性
A||B 全假为假,有真为真,并且A为true,就不要判断B的真假性
!A A为true,结果为!A = false
-
位运算符:& | ^ ~ >> << >>>
&:全1为1,有0为0
|:全0为0,有1为1
^ :相同为0,不同为1,即0^0=0, 1^1=0, 1^0=1
-
条件运算符: ? :
三目运算符A?B:C A是判断语句,如果A为true,则执行B,否则执行C
-
扩展赋值运算符:+= -= *= /=