运算符总结

来源:互联网 发布:创维网络机顶盒e900 编辑:程序博客网 时间:2024/06/07 05:34

1,算术运算符:

+ 加或正号

-减或负号

*乘

/除,得到的是商

%取余

++自增

- -自减

+字符串连接符

注意:

A:整数相除结果还是整数

B:+ 从左向右依次运算

C:% 两个操作数,分为左边和右边

左边小于右边,结果是左边

左边等于右边,结果为0

左边大于右边,结果是余数

 

最终的余数的符号和左边的操作数一直

D:++和- -

如果单独使用:位置前后效果一样

如果参与操作使用:放后面是先操作再++或- -,

放前面是先++或- -再操作。

2,赋值运算符:

=赋值

+=

-=

*=

/=

%=

注意:

A:+=运算等价于   左边 = (左边数据类型)(左边+右边)

 

3,比较运算符:

==:

!=:

<

>

<=

>=:

instanceof:检查是否是类的对象

注意:

A:比较运算符的结果都是boolean型,结果是true或false。

B:注意==和=的区别。

 

4,逻辑运算符:

&:AND与    一假则假

|:OR或   一真则真

^:异或   相同则false,不同则true

!:非     非真即假,非假即真

&&:AND短路    有假不再继续 ,则为假

||:OR短路    有真不再继续, 则 为真

注意:A:&与&&,|与||最终结果相同

B:&&和||效率比&和|高,开发中用&&和||。

 

5,位运算符:

<<:左移   把数据往左移动右边指定的位数,移出的位置用0补齐,相当于原数乘以2的移动位数次幂

>>:右移    把数据往右移动右边指定的位数,移出的位置用最高位数值补齐,相当于除以2的移动位数次幂。

>>>:无符号右移(连同符号一起)   把数据往右移动右边指定的位数,移出的位置用0补齐(结果没有负数),相当于除以2的移动位数次幂。

&:与运算    有0则0

|:或运算   有1则1

^:异或运算    相同则0,不同则1  , 对同一个数异或偶数次,该数据本身不变。

~:反码    按位取反,的补码,在运算出原码即为结果

 

注意:

A:&,| 两边如果是boolean类型则是逻辑运算符,如果是数值则是位运算符。

面试题:a:用最有效率的方式计算出2乘以8。  答案:2<<3

b:将两个数值交换,int a = 10;int b = 20 

答案:方式一(面试用):a = a^b;b = a^b ; a = a ^ b;

方式二: a=a+b;  b=a-b;  a = a-b;

方式三:  a=(a+b)-(b=a);

c:比较两个数是否相等 答案:boolean flag =(x==y)?true:false;

方式二:boolean flag =(x==y);

6,三元运算符(条件运算符):

格式:(比较表达式)?值1:值2;

比较表达式结果是boolean类型。

执行顺序:看比较表达式的值是true还是false:如果是true,就把值1作为结果;如果是false,就把值2作为结果。

0 0
原创粉丝点击