运算符

假设整数变量A的值为10,变量B的值为20

算术运算符:

操作符       描述                         例子

+    加法  相加运算符两侧的值        A + B 等于 30

-    减法  左操作数减去右操作数       A – B 等于 -10

*    乘法  相乘操作符两侧的值       A * B等于200

/    除法  左操作数除以右操作数     B / A等于2

%    取模  左操作数除右操作数的余数    B%A等于0

++    自增: 操作数的值增加1            B++ 或 ++B 等于 21

--    自减: 操作数的值减少1            B-- 或 --B 等于 19

自增自减运算符:

   前缀自增自减法(++a,–a): 先进行自增或者自减运算,再进行表达式运算。

   后缀自增自减法(a++,a–): 先进行表达式运算,再进行自增或者自减运算。

关系运算符:

运算符    描述                                                          例子
==    检查如果两个操作数的值是否相等,如果相等则条件为真。         (A == B)为假(非真)。

!=    检查如果两个操作数的值是否相等,如果值不相等则条件为真。      (A != B) 为真。

>     检查左操作数的值是否大于右操作数的值,如果是那么条件为真。      (A> B)非真。

<     检查左操作数的值是否小于右操作数的值,如果是那么条件为真。       (A <B)为真。

>=    检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。    (A> = B)为假。

<=    检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。    (A <= B)为真。

位运算符

假设整数变量A的值为60和变量B的值为13

操作符             描述                                                        例子

&    如果相对应位都是1,则结果为1,否则为0                    (A&B),得到12,即0000 1100

|    如果相对应位都是0,则结果为0,否则为1                     (A | B)得到61,即 0011 1101

^    如果相对应位值相同,则结果为0,否则为1                    (A ^ B)得到49,即 0011 0001

〜    按位补运算符翻转操作数的每一位,即0变成1,1变成0。            (〜A)得到-61,即1100 0011

<<     按位左移运算符。左操作数按位左移右操作数指定的位数。            A << 2得到240,即 1111 0000

>>     按位右移运算符。左操作数按位右移右操作数指定的位数。            A >> 2得到15即 1111

>>> 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,
    移动得到的空位以零填充                                A>>>2得到15即0000 1111

逻辑运算符

假设布尔变量A为真,变量B为假

操作符            描述                                               例子

&&        称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。        (A && B)为假。

| |        称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。    (A | | B)为真。

!        称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,
        则逻辑非运算符将得到false。                                !(A && B)为真。

短路逻辑运算符

当使用与逻辑运算符时,在两个操作数都为true时结果才为true,但是当得到第一个操作为false时,结果一定是false,这时就不会再判断第二个操作。

赋值运算符

条件运算符

也称为三元运算符,该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。

variable x = (expression) ? value if true : value if false

表达式成立则把value if true 的值赋给变量,否则把value if false 的值赋给变量

运算符优先级

类别                       操作符                             关联性

后缀                   () [] . (点操作符)                     左到右

一元                   + + - !〜                             从右到左

乘性                * /%                                     左到右

加性                + -                                     左到右

移位                >> >>>  <<                              左到右

关系                >> = << =                              左到右

相等               ==  !=                                 左到右

按位与               &                                     左到右

按位异或               ^                                     左到右

按位或               |                                     左到右

逻辑与               &&                                     左到右

逻辑或                | |                                     左到右

条件                  ?:                                     从右到左

赋值            = + = - = * = / =%= >> = << =&= ^ = | =     从右到左

逗号                 ,                                      左到右