Java的逻辑运算和位运算

Java的逻辑运算和位运算

Java的逻辑运算

1、逻辑运算符

运算符

用法

含义

&&

op1&&op2

逻辑与

||

op1||op2

逻辑或

!op

逻辑非

op1

Op2

op1&&op2

op1||op2

!op1

true

True

true

true

false

True

False

false

true

false

False

True

false

true

true

False

False

false

false

true

 2、运算法则:

只能对Boolean型数据进行运算
例如:

int x=4;
if(!x%2==0)

运行的结果:

3、特性:

逻辑运算会短路

例如

int a=10,b=20;
        if((a=0)==0||(b=0)==0)
        {
            System.out.println(b);
        }

运行的结果:

 Java的位运算

1、位运算符

a类

     “按位”运算符“&”,规则:全1则1,否则为0

      “按位”运算符“|”,规则:全0则0,否则为1。

      “按位”运算符“~”,规则:遇1则0,遇0则1。

      “按位异或”运算符“^”,规则:相同为0,不同为1。

b类

     >> 右移运算符:将二进制数据进行右移运算,左移之后的空位使用0来填充,例如 int 类型3和-3右移2位。

    << 左移运算符:将二进制数据进行左移运算,右移之后空出来的位置以符号位填充。如果是正数使用“0”填充,如果是负数使            用“1”填充,例如 int 类型3左移2位。

    >>> 无符号右移运算符:无论正负,空出来的位以“0”填充,例如int类型3和-2无符号右移2位。

2、运算法则

a.    |,&,可以对数值和布尔型进行运算

b.    <<,>>,>>>(无符号右移)型

例如:

    >> 右移运算符:将二进制数据进行右移运算,左移之后的空位使用0来填充,例如 int 类型3-3右移2位,如下图:

  >>> 无符号右移运算符:无论正负,空出来的位以“0”填充,例如int类型3-2无符号右移2位,如下图:

3、特性

a.位运算不会短路

int a=10,b=20;
		if((a=0)==0|(b=0)==0)
		{
			System.out.println(b);
		}

运行结果:


b. 按异或两次,回到原值

int a=3,b=5;
    a=a^b;
    b=a^b;
    a=a^b;

运行的结果:


若有缺陷或者错误,请不吝赐教。 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值