黑马程序员技术交流社区

标题: Java运算符优先级总结 [打印本页]

作者: lucascgz    时间: 2015-12-5 23:36
标题: Java运算符优先级总结
***不是重点, 有个大概印象即可!!!
--------------------------------------------------------------------------------
优先级        运算符                                                                                结合性       
1                () [] .                                                                                从左到右        小括号/中括号/.运算符
2                ! +(正) -(负) ~ ++ --                                                从右向左        一元运算符(算术运算符-自增/自减/正负号, 逻辑运算符-非, 位运算符-按位取反)
3                * / %                                                                                从左向右        算术运算符-乘/除/取余
4                +(加) -(减)                                                                        从左向右        算术运算符-加/减
5                << >> >>>                                                                        从左向右        移位运算符
6                < <= > >= instanceof                                                从左向右        关系运算符
7                == !=                                                                                从左向右        逻辑运算符-等于/不等于
8                &(按位与)                                                                        从左向右        逻辑运算符-按位与
9                ^                                                                                        从左向右        逻辑运算符-异或
10                |                                                                                        从左向右        逻辑运算符-或       
11                &&                                                                                        从左向右        逻辑运算符-短路与
12                ||                                                                                        从左向右        逻辑运算符-短路或
13                ?:                                                                                         从右向左        三元运算符
14                = += -= *= /= %= &= |= ^= ~= <<= >>= >>>=        从右向左        赋值运算符优先级最低
--------------------------------------------------------------------------------
1. 优先级依次递减
        "() [] .", 一元运算符, 算术运算符, 移位运算符, 关系运算符, 逻辑运算符, 三元运算符, 赋值运算符
        /*
                "() [] ."优先级最高(为1), 一元运算符优先级次高(为2)
                赋值运算符优先级最低(为14), 三元运算符优先级次低(为13)
        */
2. 逻辑运算符中, 优先级依次递减:
        &, ^, |, &&, ||
3. 算术运算符中
        先乘/除/取余, 后加减
        ++/--, +(正)/-(负)算作一元运算符
4. 一元运算符, 三元运算符和赋值运算符的结合性是从右到左; 其余全部从左到右




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2