Java中的运算符
2015-09-29 21:21
232 查看
一:概括.
java中的运算符包括三个:逻辑运算符,赋值运算符,三元运算符.
第一节:逻辑运算符.
1.逻辑运算符有五个分别是:与(&),或(|),非(!),异或(^),短路与(&&),短路或(||),逻辑运算符用于对boolean类型操作,其结果依然是个boolean类型,如下表示.
符号运算范例结果
&与true&truetrue
true&falsefalse
false&truefalse
false&falsefalse
|或true&truetrue
false&truetrue
true&falsetrue
false&falsefalse
!非!truefalse
!falsetrue
^异或true^truefalse
true^falsetrue
false^truetrue
true^truefalse
true&falsefalse
false&truefalse
false&falsefalse
||短路或true&truetrue
false&truetrue
true&falsetrue
false&falsefalse
2.其中值得注意的是&和&&与|和||的运算结果相同,但是&和|运算时不管运算结果如何,左右两边的表达式都要运行一次,二短路与(&&)运算时,如果前一个表达式是false后一个表达式将不再运算,而短路或(||)运算时,如果前一个表达式结果是true时,后面表达式将不再做运算.
比如:(表达式1)&(表达式2):当表达式1为false时,虽然已经可以确定整个运算结果是false但是表达式2依然还要运算一次.
(表达式1)&&(表达式2):当表达式1为false时,已经可以确定整个运算结果是false了,所以表达式2不再运行.
(表达式1)|(表达式2):当表达式1为true时,虽然已经可以确定整个运算结果是false但是表达式2依然还要运算一次.(表达式1)&&(表达式2):当表达式1为true时,已经可以确定整个运算结果是false了,所以表达式2不再运行.
3:位运算符.
位运算符包括:按位与(&),按位或(|),按位异或(^),取反(~),左移(<<),右移(>>),无符号右移(>>>).它们的用法是为在二进制单位中的两个数进行比较:
&:有0则0:0&0=0,0&1=0,1&0=0,1&1=1;
|:有1则1:0|0=0,0|1=1,1|0=1,1|1=1;
~:按位取反:~0=1,~1=0;
^:相同则0不同则1:0^0=1,0^1=1,1^0=1,1^1=0;
<<:左边最高位丢弃,右边补0;
>>:最高位是0,左边补0;最高位是1,补齐1.
>>>:无论最高位是1还是0,左边都补齐0.
其中左移几位其结果就是,移动几位其乘以2的几次幂.
右移时,移动几位就是其除以2的几次幂.
第二节:赋值运算符
赋值语句的作用是把某个常量或变量或表达式的值赋值给另一个变量.它们都表示一个符号:(+=,-=,*=,/=,%=):
它们都表示:运算结果是左边(加,减,乘,除,取模)右边的数再等于左边.
比如inti=5;
i+=5;其结果就是i=i+5;
第三节:三元运算符.
三元运算符的格式为:(关系表达式)?表达式1:表达式2;
其运算流程为,如果关系表达式成立,那么值为表达式1,如果不成立则为表达式2.
相关文章推荐
- JAXB 实现JavaBean与xml互转(二)-封装
- Java中子类继承父类方法应该注意的问题
- 转换jdk安装路径中有空格的情况
- java学习笔记之构造方法私有化与单例模式初讲
- 网页去重思路浅析(一)
- 【Java基础】基础概念
- 使用 native2ascii.exe 将java utf-8编码批量转换为 ANSI.
- test8.17
- Ubuntu14.04配置jdk环境
- java String 和 int 相互转换
- Struts中对通配符的配置说明
- Java里的堆(heap)栈(stack)和方法区(method)(精华帖,多读读)
- (转)Java里的堆(heap)栈(stack)和方法区(method)(精华帖,多读读)
- test8.16
- Java应用服务器WildFly 推荐
- java文件处理相关技术
- java 操作excel 文件
- java基础
- java String 原理剖析
- JdbcHelper.java(JAVA连接数据库后的备忘录的增删改查)