Java运算符

    |     2015年4月1日   |   Java 语法基础   |     0 条评论   |    1546

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

数学运算符

数学运算,结果为一个数值。见下表:

QQ截图20150323163155

关系运算符

关系运算符与逻辑运算符,结果为一个布尔值。见下表:

QQ截图20150323163203

位运算符

位运算符对整数的二进制形式逐位进行逻辑运算,得到一个整数。见下表:

QQ截图20150323163209

1.与运算符

与运算符用符号“&”表示,其使用规律如下:
两个操作数中位都为1,结果才为1,否则结果为0,

2.或运算符

或运算符用符号“|”表示,其运算规律如下:
两个位只要有一个为1,那么结果就是1,否则就为0,

3.非运算符

非运算符用符号“~”表示,其运算规律如下:
如果位为0,结果是1,如果位为1,结果是0,

4.异或运算符

异或运算符是用符号“^”表示的,其运算规律是:
两个操作数的位中,相同则结果为0,不同则结果为1。

条件运算符

条件运算符(三目运算符)

condition ? x1 : x2
condition为一个boolean值。根据condition,取x1或x2的值。

下面是关于运算符的一个综合举例:

public class Demo {
    public static void main(String[] args){
        int a=10;
        int b=10;
       
        int x=10;
        int y=21;
        int z=10;
       
        System.out.println("后自加 a=" + (a++));
        System.out.println("a的值 a=" + a);
        System.out.println("前自加 b=" + (++b));
       
        System.out.println("---------------------");
        System.out.println("说 x>y,对吗?" + (x>y));
        System.out.println("认为 x>y 并且 x<y,对吗?" + ( (x>y) && (x<y) ));
        System.out.println("认为 x>=y 或者 x==y,对吗?" + ( (x>=y) || (x==y) ));
        System.out.println("认为 x<y 或者 x=z,对吗?" + ( (x<y) || (x==z) ));
        System.out.println("---------------------");
        System.out.println("a&x 的结果是:" + (a&x));
        System.out.println("a|x 的结果是:" + (a|x));
        System.out.println("y^z 的结果是:" + (y^z));
       
        System.out.println("---------------------");
        System.out.println("a 左移2位的结果是:" + (a<<2));
        System.out.println("y 右移3位的结果是:" + (y>>3));
    }
}

运行结果:
后自加 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
转载请注明来源:Java运算符
回复 取消