您的位置:首页 > 编程语言 > Java开发

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版)》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 运算符