Java知多少(12)运算符

Java中的运算符和C/C++相差无几。

数学运算符

数学运算,结果为一个数值。见下表:
运算符说明举例
+ 加法 1 + 2
- 减法 4 - 3.4
* 乘法 7 * 1.5
/ 除法 3.5 / 7
% 取余 7 % 2
++ 自增 3++
-- 自减 3--

关系运算符

关系运算符,结果为一个布尔值。见下表:
运算符说明举例
> 大于 a > 4.2
>= 大于等于 3.4 >= b
< 小于 1.5 < 9
<= 小于等于 6 <= 1
== 等于 2 == 2
!= 不等于 2 != 2
&& true && false
|| (3 > 1) || (2 == 1)
! !true

位运算符

位运算符对整数的二进制形式逐位进行逻辑运算,得到一个整数。见下表:
运算符说明举例
& 1 & 4
| 2 | 5
^ 异或 2 ^ 3
~ ~5
<< 左移 5 << 3
>> 右移 6 >> 1

条件运算符

Java中也有一个条件运算符(三目运算符):
    condition ? x1 : x2
condition为一个boolean值。根据condition,取x1或x2的值。

下面是关于运算符的一个综合举例:
 1 public class Demo {
 2   public static void main(String[] args){
 3     int a=10;
 4     int b=10;
 5     int x=10;
 6     int y=21;
 7     int z=10;
 8     System.out.println("后自加 a=" + (a++));
 9     System.out.println("a的值 a=" + a);
10     System.out.println("前自加 b=" + (++b));
11     System.out.println("---------------------");
12     System.out.println("说 x>y,对吗?" + (x>y));
13     System.out.println("认为 x>y 并且 x<y,对吗?" + ( (x>y) && (x<y) ));
14     System.out.println("认为 x>=y 或者 x==y,对吗?" + ( (x>=y) || (x==y) ));
15     System.out.println("认为 x<y 或者 x=z,对吗?" + ( (x<y) || (x==z) ));
16     System.out.println("---------------------");
17     System.out.println("a&x 的结果是:" + (a&x));
18     System.out.println("a|x 的结果是:" + (a|x));
19     System.out.println("y^z 的结果是:" + (y^z));
20     System.out.println("---------------------");
21     System.out.println("a 左移2位的结果是:" + (a<<2));
22     System.out.println("y 右移3位的结果是:" + (y>>3));
23   }
24 }
运行结果:
后自加 a=10
a的值 a=11
前自加 b=11
---------------------
说 x>y,对吗?false
认为 x>y 并且 x<y,对吗?false
认为 x>=y 或者 x==y,对吗?false
认为 x<y 或者 x=z,对吗?true
---------------------
a&x 的结果是:10
a|x 的结果是:11
y^z 的结果是:31
---------------------
a 左移2位的结果是:44
y 右移3位的结果是:2
posted @ 2015-03-22 06:58  Coda  阅读(1225)  评论(2编辑  收藏  举报