运算符总结
2016-02-24 14:21
162 查看
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作为结果。
+ 加或正号
-减或负号
*乘
/除,得到的是商
%取余
++自增
- -自减
+字符串连接符
注意:
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作为结果。
相关文章推荐
- 折腾之美
- android studio快捷键
- USB鼠标线序
- createjs 更新
- 检测sshd端口误封脚本
- mysql基础--自定义function/procedure
- Android studio插件开发实战(4)-CodeGenerator插件开发
- 最长上升子序列 LIS (Longest Increasing Subsequence)
- Spring中的设计模式
- Opencv--Iplimage中像素操作
- Android Studio中的错误,finished with non-zero exit value 1
- redis命令的请求、处理和结果返回
- [leetcode] One Edit Distance 解题报告
- Apache HTTP Server 与 Tomcat 的三种连接方式介绍(转)
- jquery $(document).ready() 与 javascript中window.onload的区别
- 删除 win8.1中的网络1,网络2,宽带连接1,宽带连接2等网络记录
- jquery小效果:新浪游戏右侧导航菜单 (页面效果)
- 在hibernate中查询使用List,Map和类对象定制返回类型
- JavaScript学习笔记(1)
- 网站汇总