java6——运算符

之前说过了算数运算符和关系运算符,今天这里说一说其他的常用运算符:
-赋值运算符
-逻辑运算符
-三目运算符
-位运算符(常规应用开发中使用较少)

赋值运算符

运算符名称作用例子
=赋值将等式右边的值赋给左边的变量a=5
+=加等于等式左边+右边的结果赋给左边的变量a+=3相当于a=a+3
-=、*=、/=、%=规律同上作用同上例子模式同上

赋值运算符的作用就是给变量赋值,示例代码如下:

public class TestFuZhi {

    public static void main(String[] args) {
        int a=5;
        System.out.println(a);//5
        a+=1;
        System.out.println(a);//6
        a=5;
        a-=1;
        System.out.println(a);//4
        a=5;
        a*=2;
        System.out.println(a);//10
        a=5;
        a/=2;
        System.out.println(a);//2(由于是两个int进行除法运算,其结果也是int,所以会损失精度)
        a=5;
        a%=3;
        System.out.println(a);//2

    }

}

逻辑运算符

运算符名称作用例子
&进行与运算a & b(如果a和b都是true就返回true,否则返回false)
|进行或运算a | b(如果a和b中有一个为true就返回true,否则为false)
取反!a(如果a为true,!a则为false)
^异或a^b(如果a和b只有一个为true时,结果为true,否则为false)
&&短路与进行与运算a && b && c(如果a为false,则结果直接为false,不继续运算)
||短路或或运算a || b || c(如果a为true则结果直接为true,不会继续运算下去)

逻辑运算符用来连接两个boolean类型的值,其结果也是一个boolean。测试代码如下:

public class TestLuoJi {

    public static void main(String[] args) {
        boolean a=true;
        boolean b=true;
        boolean c=false;
        boolean d=false;

        System.out.println(a&c);//false
        System.out.println(a&b);//true
        System.out.println(d&c);//false
        System.out.println(a|c);//true
        System.out.println(a|b);//true
        System.out.println(c|d);//false
        System.out.println(!a);//false
        System.out.println(!c);//true
        System.out.println(a^c);//true
        System.out.println(a^b);//false
        System.out.println(c^d);//false
    }

}

三目运算符

运算符名称作用例子
a?b:c三目运算符如果a为true则b,否则c3>2?5:6结果为5

三目运算符是一种简洁的判断用法,对于结果只有两种选择,且只输出一次时,通常选择三目运算符。

public class TestSanMu {

    public static void main(String[] args) {
        System.out.println(3>2?5:6);//5
        System.out.println(3>4?5:6);//6
    }

}

位运算符(应用并不是很多,不明白也无妨)

运算符名称作用例子
&与运算4&5,结果是4
|或运算4|5,结果是5
~取反~4,结果是-5
^异或异或运算4^5,结果是1
<<左移左移运算6<<2,结果是24
>>右移右移运算6>>2,结果是1
>>>无符号右移无符号右移运算6>>>2,结果为1

位运算符的运算过程都和操作数的二进制有关,也就是说,首先要将操作数转换成二进制数,然后再按照规则进行运算。其规则如下:
&:相同位都是1则为1,否则为0。 例如 4&5,4的二进制为1000,5是1001。
1000
1001
————————
1000 ——>第一位都是1则为1,第二位全是0位,第三位也是0,第四位只有一个1,也为0。所以其结果为1000,转换为十进制就是4。

| :相同位都是0则为0,否则为1。 运算方式同上,大家可自己行计算。

~:同位取反,如果是1则为0,是0则为1。 例如: ~4
0000 1000
——————
1111 0111 ——>取反后得到一个这样的二进制数,那么这个数是多少呢?
在数值表示中,第一位是符号位,0代表是正数,1代表负数。通过这个规则可以看出这是一个负数,负数取值的规则为:先将这个数的值(直接转换成十进制)-1,也就得到了11110110,再取反为0000 1001,十进制为5,加负号为-5
这里的表述如果看不懂,可以取百度一下,负数的表示方式。

^:两个操作数的位中,相同则结果为0,不同则结果为1。

>>: 将操作数的二进制数向右移动N位,如果操作数是正数,则在左侧补N个0;如果操作数是负数则补N个1

<<:规则同右移,

>>>:这里移动的规则和右移相同,只是补位时不考虑正负,都补0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值