java运算符优先级

</p><p>优先级   操作符   含义        关联性  用法 </p>----------------------------------------------------------------
1        [ ]      数组下标      左    array_name[expr] 
         .        成员选择      左    object.member 
         ( )      方法参数      左    method_name(expr_list) 
         ( )      实例构造      左    class_name(expr_list) 
         ++       后缀自增      左    lvalue++ 
         --       后缀自减      左    lvalue-- 

2        ++       前缀自增      右    ++rvalue 
         --       前缀自减      右    --lvalue 
         ~        按位取反      右    ~expr 
         !        逻辑非        右    !expr 
         +        一元加        右    +expr 
         -        一元减        右    -expr 

3        ( )      强制转换      右    (type)expr 
         new      对象实例化    右    new type() 
                                      new type(expr_list) 
                                      new type[expr] 

4        *        乘            左    expr * expr 
         /        除            左    expr / expr 
         %        求余          左    expr % expr 

5        +        加            左    expr + expr 
         -        减            左    expr - expr 
         +        字符串连接    左    strExpr + strExpr 

6        >>       有符号右移    左    expr >> distance 
         >>>      无符号右移    左    expr >>> distance 

7        <        小于          左    expr < expr 
         <=       小于等于      左    expr <= expr 
         >        大于          左    expr > expr 
         >=       大于等于      左    expr >= expr 
      instanceof  类型比较      左    ref instanceof refType 
         ==       等于          左    expr == expr 
         !=       不等于        左    expr != expr 

8        &        整数按位与    左    integralExpr & integralExpr 
         &        布尔与        左    booleanExpr & booleanExpr 

9        ^        整数按位异或  左    integralExpr ^ integralExpr 
         ^        布尔异或      左    booleanExpr ^ booleanExpr 

10       |        整数按位或    左    integralExpr | integralExpr 
         |        布尔或        左    booleanExpr | booleanExpr 

11       &&       逻辑与        左    booleanExpr && booleanExpr 

12       ||       逻辑或        左    booleanExpr || booleanExpr 

13       ? :      条件运算      右    booleanExpr ? expr : expr 

14       =        赋值          右    lvalue = expr 
         *=       乘赋值        右    lvalue *= expr 
         /=       除赋值        右    lvalue /= expr 
         %=       模赋值        右    lvalue %= expr 
         +=       加赋值        右    lvalue += expr 
         +=    字符串连接赋值   右    lvalue += expr 
         -=       减赋值        右    lvalue -= expr 
         <<=      左移赋值      右    lvalue <<= expr 
         >>=   有符号右移赋值   右    lvalue >>= expr 
         >>>=  无符号右移赋值   右    lvalue >>>= expr 
         &=    整数按位与赋值   右    lvalue &= expr 
         &=       布尔与赋值    右    lvalue &= expr 
         |=    整数按位或赋值   右    lvalue |= expr 
         |=       布尔或赋值    右    lvalue |= expr 
         ^=   整数按位异或赋值  右    lvalue ^= expr 
         ^=     布尔异或赋值    右    lvalue ^= expr 
时间: 2025-01-20 14:50:24

java运算符优先级的相关文章

Java运算符优先级(转)

Java运算符优先级   序列号 符号 名称 结合性(与操作数) 目数 说明 1 . 点 从左到右 双目   ( ) 圆括号 从左到右     [ ] 方括号 从左到右     2 + 正号 从右到左 单目   - 负号 从右到左 单目   ++ 自增 从右到左 单目 前缀增,后缀增 - - 自减 从右到左 前缀减,后缀减 ~ 按位非/取补运算 从右到左 单目   ! 逻辑非 从右到左 单目 "!"不可以与"="联用 3 * 乘 从左到右 双目   / 除 从左到右

运算符优先级

运算   JScript 中的运算符优先级是一套规则.该规则在计算表达式时控制运算符执行的顺序.具有较高优先级的运算符先于较低优先级的运算符执行.例如,乘法的执行先于加法. 下表按从最高到最低的优先级列出 JScript 运算符.具有相同优先级的运算符按从左至右的顺序求值. 运算符 描述 . [] () 字段访问.数组下标.函数调用以及表达式分组 ++ -- - ~ ! delete new typeof void 一元运算符.返回数据类型.对象创建.未定义值 * / % 乘法.除法.取模 +

java运算符总结

下面这个例子向大家展示了如何随同特定的运算符使用主数据类型.从根本上说,它是同一个例子反反复复地执行,只是使用了不同的主数据类型.文件编译时不会报错,因为那些会导致错误的行已用//!变成了注释内容.   //: AllOps.java // Tests all the operators on all the // primitive data types to show which // ones are accepted by the Java compiler. class AllOps

Java运算符&amp;gt;、&amp;gt;&amp;gt;、&amp;gt;&amp;gt;&amp;gt;三者的区别_java

>表示大于,如:if(a>b)...结果是boolean类型 >>表示带符号右移,如:int i=15; i>>2的结果是3,移出的部分将被抛弃. 转为二进制的形式可能更好理解,0000 1111(15)右移2位的结果是0000 0011(3),0001 1010(18)右移3位的结果是0000 0011(3). >>>无符号右移: 按二进制形式把所有的数字向右移动对应巍峨位数,低位移出(舍弃),高位的空位补零.对于正数来说和带符号右移相同,对于负数来

正则表达式 运算符优先级介绍_正则表达式

正则表达式从左到右进行计算,并遵循优先级顺序,这与算术表达式非常类似. 相同优先级的从左到右进行运算,不同优先级的运算先高后低.下表从最高到最低说明了各种正则表达式运算符的优先级顺序: 运算符 描述 \ 转义符 (), (?:), (?=), [] 圆括号和方括号 *, +, ?, {n}, {n,}, {n,m} 限定符 ^, $, \任何元字符.任何字符 定位点和序列(即:位置和顺序) | 替换,"或"操作 字符具有高于替换运算符的优先级,使得"m|food"匹

java运算符的优先级和%取模

问题描述 java运算符的优先级和%取模 int a=2 ; int b=a+3*a++ ; b的输出值为什么是8 不是9吗怎么变成8啦 解决方案 ++优先级虽然高,但是第一个a编译器先对它取值了.也许你觉得第一个a应该是a自增1以后的值.但是编译器不这么认为.这种代码在C++中是未定义行为的代码,换言之语法规范没有规定结果是多少,不同的编译器可以产生不同的结果.我不清楚Java中有没有规定,但是可以肯定的是,这种模棱两可的代码绝对不要在你写程序的时候写出来. 解决方案二: 这段代码的正确写法取

12月3号-JAVA运算符与优先级 访问控制。

访问控制 修饰符 当前类 同一包内 子孙类 其他包 public Y Y Y Y protected Y Y Y N default Y Y N N private Y N N N JAVA的类(外部类)有2种访问权限: public default 而方法和变量有4种,public default protected private default则是同一个包的类可以访问 protected表示同一个包的类可以访问,其他包的子类也可以访问. private表示只有自己类能访问.   修饰符 a

Java编程那些事儿28—运算符优先级

4.7 运算符优先级 在实际的开发中,可能在一个运算符中出现多个运算符,那么计算时,就按照优先级级别的高低进行计算,级别高的运算符先运算,级别低的运算符后计算,具体运算符的优先级见下表: 运算符优先级表 优先级 运算符 结合性 1 ()[]. 从左到右 2 !+(正) -(负)~++-- 从右向左 3 */% 从左向右 4 +(加)-(减) 从左向右 5 <<>>>>> 从左向右 6 <<=>>=instanceof 从左向右 7 == !

Java运算符

        Java语言中的表达式是由运算符与操作数组合而成的,所谓的运算符就是用来做运算的符号.         在Java中的运算符,基本上可分为算术运算符.关系运算符.逻辑运算符.位运算符.赋值运算符.转型运算符等. 一.算术运算符       所谓算术运算符,也就是我们数学中学到的加.减.乘.除等运算.这些操作可以对几个不同类型的数字进行混合运算,为了保证操作的精度,系统在运算的过程中会做相应的转换.       1.数字精度       所谓数字精度,也就是系统在做数字之间的算术运