------- android培训、java培训、期待与您交流! ----------
任何一门编程语言,在对数据进行处理时,都离不开操作符的应用。本篇博文将带领大家
对java语言的相关操作符进行统一且全面的认识与掌握。
一般来讲,按照操作符所要操作的操作的对象的个数来分,可分为一元操作符,二元操作符,
以及三元操作符。
1.常见的一元操作符有以下几种:
- 取反操作符 ag: -x !
~ 逐位取反 ag:~x
++ 自增 ag:++x
-- 自减 ag:--x
1.1一元操作符中常见的应注意的问题:
++与--既可以作为前置运算符,也可以作为后置运算符。并且前置和后置应该注意区分,
例如以下表达式:
int x=1,i=2,b=4;
x=i++;//运算完之后x的值为2,i的值为3
x=--b;//运算完之后x的值为3,b的值为3
<span style="font-size:18px;">当++与--前置时,先自增或自减,再参与运算,后者则相反。</span>
<span style="font-size:18px;"></span>
2.常见的二元操作符有以下几种:
% 取模运算 ag:a%b < 小于 ag:3<4
+ 加法运算 ag:a+b > 大于 ag:4>3
/ 除法运算 ag:a/b <= 小于等于 ag:3<=4
& 与运算 ag:a&b >= 大于等于 ag:4>=3
| 或运算 ag:a|b == 等于 ag:3==3
^ 异或运算 ag:a^b != 不等于 ag:3!=4
>>> 逻辑右移 ag:a>>>b && 短路与 ag:a&&b
>> 算术右移 ag:a>>b || 短路或 ag:a||b
<< 左移 ag:a<<b ! 非 ag: !a
2.1二元运算符中常见的应注意的问题:
(1)对于操作符'/'来说,当操作元都为整数时,运算结果为商的整数部分。
int a=15/4;//结果为3
int b=-12/7;//结果为-1
(2)对于取模操作符'%'来说,当操作元都为整数时,运算结果为整数除法运算的余数部分。
int a=12%5;//运算结果为2
int b=-12%5//运算结果为-2
(3)“==”和“!=”的操作元可以是基本类型也可以是引用类型。
(4)短路操作符与非短路操作符的区别在于:对于短路操作符,如果能根据操作符左边的布尔
表达式就能推算出整个表达式的值,那么将不会执行右边的表达式。而非短路则永远都会执行完。
(5)对于操作符’+‘作为字符串连接操作符,如果操作元中有一个为string类型,那么另外一个可
以是任意类型,不过这个操作元将转换为字符串类型。如果是引用类型,将调用该对象的tostring
方法。
3.java中有一个比较特许的三元操作符”?:“。它的格式为:
布尔表达式 ? 表达式1:表达式2.
运算的过程是,布尔表达式为真,则执行表达式1,否则执行表达式2.
例如以下代码
int a=1,b=2;
int c=a<b?a++:b++;//c为真,所以a++将被执行
4.比较''=="操作符与对象的equals操作符
操作符"=="通常用于比较两个操作元是否相等,这两个比较的操作元除了可以是基本
操作符之外,还可以是引用类型,当”==“操作符两边都是引用类型时,只有这两个引用
同时引用同一个对象,比较的结果才为真。例如以下代码:
Integer a=new Integer(1);
Integer b=new Integer(1);
Integer c=b;
boolean x=a==b;//x为false;a,b指向不同对象
x=c==b//x为true//c,b指向同一对象
在java的object类当中定义了一个用于比较的方法,equals方法,通常用于两个对象之间做
比较,由于java中所有的类都继承了object,所以也相应继承了equals方法,此方法的定义
以及比较规则如下:
public boolean equals(object obj)
当参数obj引用的对象与当前对象为同一个时,返回true,否则返回false。