运算符

来源:互联网 发布:命中双色球软件 编辑:程序博客网 时间:2024/06/08 16:41

算术运算符

+   -    *     /     %    ++     --

注意:

1.在没有赋值或者运算参与的情况下,前++和后++,结果是相同的

2.如果有赋值的情况,前++是自身先加1然后在赋值,后++是先赋值然后在自身加1

3.如果有运算的情况下,前++是自身先加1在参与运算,后++是先参与运算在自身加1

赋值运算符

 =      +=     -=     *=       %=

int i=1;int sum+=i;//等价于sum=i+sum;

关系运算符

>     <     >=    <=   !=   ==

注意:关系运算符的结果是布尔型的

            可以和算术运算符一起使用

逻辑运算符

&  与        |   或          !   非

&&   短路与

||  短路或

运算符条件结果&  &&true&truetrue false&truefalse false&falsefalse true&falsefalse运算符条件结果|  ||true|truetrue false|truetrue true|falsetrue false|falsefalse

区别:

&,&&:只要条件中有一个为false,则结果为false。&在计算中先计算左边的表达式,不管结果是什么都要计算右边的表达式;而&&,计算出左侧的结果为false就不会计算右侧的表达式了

| ,||:只要条件中有一个true,则结果为true。|  先计算左侧的表达式,不管结果为什么都计算右边的表达式;|| 如果左侧的计算结果为true,则不会计算右边的值


位运算符

~ 取反  操作数的二进制位按位取反

例如:

int a=6;b=~a;//b的计算过程  a  0000 0110——————————————————————————————————  b  1111 1001  -7

& 按位与   两个操作数中的位数都为1,结果为1,否则为0

例如:

int a=3;int b=2;int c=a&b;//c的计算过程 a   0000 0011   b   0000 0010————————————————————————————————  c   0000 0010   2

| 按位或 两个操作数中的位数都为0,结果为0,否则为1

int a=3;int b=2;int c=a|b;//c的计算过程  a  0000 0011  b  0000 0010——————————————————————————  c  0000 0011 3

^ 异或  两个二进制数上下进行比较,相同为0,不同为1

int i=1;int c=i^5;//c 的计算过程  i 0001  5 0101——————————————————————————  c 0100  4

注意:位运算符,操作的是二进制数,在计算前必须将是数字转换成二进制的

位移运算符

<< 左移  移走后空出来的低位补0;

int a=9;a=a<<3;//过程  a          0000 1001  a<<3       0100 1000——————————————————————————————                    72
规律: A<<B  表示 A*2的B次方

>>右移 空出的高位,正数补0,负数补1

int b=4;b=b>>2;//过程b      0000 0100b>>2   0000 0001————————————————————————————                 1

>>>无符号右移  高位空出位全部补0

三目运算符

格式:条件?条件true执行的语句:条件false执行的语句