您的位置:首页 > 编程语言 > Java开发

各运算符的优先级别 -- JAVA 基础

2017-08-18 15:00 211 查看
优先级运算符分类结合顺序运算符







分隔符左结合.    []     ( )     ;      ,
一元运算符右结合!  ++     --     -   ~
算术运算符

移位运算符
左结合*     /      %    +     -      <<   >>   >>>
关系运算符左结合<     >     <=   >=   instanceof(Java 特有)   = =  !=
逻辑运算符左结合! &&  ||  ~  &  |  ^ 
三目运算符右结合布尔表达式?表达式1:表达式2
赋值运算符右结合=  *=     /=  %=   +=   -=    <<= >>= >>>=  &=  *=  |=
 

一、一元运算符

    因操作数是一个,故称为一元运算符。
运算符含义例子
-改变数值的符号,取反-x(-1*x)
~逐位取反,属于位运算符~x
++自加1x++
--自减1x--
++x 因为++在前,所以先加后用。

x++ 因为++在后,所以先用后加。

二、算术运算符

    所谓算术运算符,就是数学中的加、减、乘、除等运算。因算术运算符是运算两个操作符,故又称为二元运算符。
运算符含义例子
+加法运算x+y
-减法运算x-y
*乘法运算x*y
/除法运算x/y
%取模运算(求余运算)x%y
    

三、移位运算符

   移位运算符操作的对象就是二进制的位,可以单独用移位运算符来处理int型整数。
运算符含义例子
<<左移运算符,将运算符左边的对象向左移动运算符右边指定的位数(在低位补0)x<<3
>>"有符号"右移运算 符,将运算符左边的对象向右移动运算符右边指定的位数。使用符号扩展机制,也就是说,如果值为正,则在高位补0,如果值为负,则在高位补1.x>>3
>>>"无符号"右移运算 符,将运算符左边的对象向右移动运算符右边指定的位数。采用0扩展机制,也就是说,无论值的正负,都在高位补0.x>>>3
 

四、关系运算符

Java具有完备的关系运算符,这些关系运算符同数学中的关系运算符是一致的。具体说明如下:
运算符含义例子
<小于x<y
>大于x>y
<=小于等于x<=y
>=大于等于x>=y
==等于x==y
!=不等于x!=y
instanceof操作符用于判断一个引用类型所引用的对象是否是一个类的实例。操作符左边的操作元是一个引用类型,右边的操作元是一个类名或者接口,形式如下:

obj instanceof ClassName      或者    obj instanceof InterfaceName

关系运算符产生的结果都是布尔型的值,一般情况下,在逻辑与控制中会经常使用关系运算符,用于选择控制的分支,实现逻辑要求。

需要注意的是:关系运算符中的"=="和"!="既可以操作基本数据类型,也可以操作引用数据类型。操作引用数据类型时,比较的是引用的内存地址。所以在比较非基本数据类型时,应该使用equals方法。

七、赋值运算符

赋值运算符是程序中最常用的运算符了,示例如下:
运算符例子含义
+=x+=yx=x+y
-=x-=yx=x-y
*=x*=yx=x*y
/=x/=yx=x/y
%=x%=yx=x%y
>>=x>>=yx=x>>y
>>>=a>>>=yx=x>>>y
<<=a<<=yx=x<<y
&=x&=yx=x&y
|=x|=yx=x|y
^=x^=yx=x^y
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  JAVA 运算符 优先级