Java之运算符
2015-12-11 09:03
525 查看
1.自增与自减运算符
(1)对于前缀形式,操作数先自增或自减,然后表达式使用自增或自减之后的值。
x=1;
y=++x;
则y == 2;
(2)对于后缀形式,表达式先使用操作数原来的值,然后在修改操作数。
x=1;
y=x++;
则y == 1;
2.关系运算符
只有数值类型才能使使用关系运算符进行比较,即只有整型、浮点型以及字符型操作数,才可以进行以判定相互之间大小为目的的比较。
在C++中,这些语句是非常普遍的:
int done;
//…
if(done)… //Valid in C/C++
if(!done)… //but not in Java
而在Java中,这些语句必须编写为如下形式:
if(done == 0)… //this is Java-style
if(done != 0)…
这是因为在Java中定义true和false的方式与C/C++不同。在C/C++中,true是任何非零值,false是0;而在Java中true和false不是数值,他们与示范为0没有任何关系。
Java中if()语句,括号中类型必须为boolen类型。
3.布尔逻辑运算
& 逻辑与
| 逻辑或
&& 短路与(条件与)
|| 短路或(条件或)
短路运算(&&和||),假如单独根据左操作数就能确定表达式的结果,那么Java就不会再计算右操作数的值。
而逻辑运算(&和|),左操作数和右操作数都要计算。
例如,if(denom != 0 && num / denom >10) 使用短路运算,所以不存在由于变量denom为0而引起运行时异常的风险。
对于布尔逻辑,使用逻辑与和或的短路形式是标准用法,而将单字符版本专门留给位运算。但是,这个规则有一个例外。例如,考虑下面的代码段:
if(c == 1 & e++ < 100) d = 100;
在此,使用单个&符号以确保无论c是否等于1,都会为e应用自增运算。
出自:《Java 8编程参考官方教程(第9版)》
(1)对于前缀形式,操作数先自增或自减,然后表达式使用自增或自减之后的值。
x=1;
y=++x;
则y == 2;
(2)对于后缀形式,表达式先使用操作数原来的值,然后在修改操作数。
x=1;
y=x++;
则y == 1;
2.关系运算符
只有数值类型才能使使用关系运算符进行比较,即只有整型、浮点型以及字符型操作数,才可以进行以判定相互之间大小为目的的比较。
在C++中,这些语句是非常普遍的:
int done;
//…
if(done)… //Valid in C/C++
if(!done)… //but not in Java
而在Java中,这些语句必须编写为如下形式:
if(done == 0)… //this is Java-style
if(done != 0)…
这是因为在Java中定义true和false的方式与C/C++不同。在C/C++中,true是任何非零值,false是0;而在Java中true和false不是数值,他们与示范为0没有任何关系。
Java中if()语句,括号中类型必须为boolen类型。
3.布尔逻辑运算
& 逻辑与
| 逻辑或
&& 短路与(条件与)
|| 短路或(条件或)
短路运算(&&和||),假如单独根据左操作数就能确定表达式的结果,那么Java就不会再计算右操作数的值。
而逻辑运算(&和|),左操作数和右操作数都要计算。
例如,if(denom != 0 && num / denom >10) 使用短路运算,所以不存在由于变量denom为0而引起运行时异常的风险。
对于布尔逻辑,使用逻辑与和或的短路形式是标准用法,而将单字符版本专门留给位运算。但是,这个规则有一个例外。例如,考虑下面的代码段:
if(c == 1 & e++ < 100) d = 100;
在此,使用单个&符号以确保无论c是否等于1,都会为e应用自增运算。
出自:《Java 8编程参考官方教程(第9版)》
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统