说说&和&&的区别。

说说&和&&的区别。

答:共同点:&和&&都可以用作逻辑与(and)运算,当运算符两边都为true时结果才为true,否则为false.

     不同点:&&运算符有短路的功能,即当运算符左边的值为true时,右边则不会进行运算,直接跳过.

                &运算符没有短路功能.但是是可以用作位运算.

 

 

package com.n3;

public class Demo {
	public static void main(String[] args) {
		System.out.println("true&true="+(true&true));
		System.out.println("true&false="+(true&false));
		System.out.println("false&false="+(false&false));
		System.out.println("----------");
		System.out.println("true&&true="+(true&&true));
		System.out.println("true&&false="+(true&&false));
		System.out.println("false&&false="+(false&&false));
		System.out.println("----------");
		int i=0;
		System.out.println(false&++i==0);
		System.out.println(i);
		i=0;
		System.out.println(true&++i==0);
		System.out.println(i);
		System.out.println("----------");
		i=0;
		System.out.println(false&&++i==0);
		System.out.println(i);
		i=0;
		System.out.println(true&&++i==0);
		System.out.println(i);
		System.out.println("----------");
		System.out.println("5&3="+(5&3));
		/*
		 * 5二进制 :0000 0000 0000 0000 0000 0000 0000 0101
		 * 3二进制 :0000 0000 0000 0000 0000 0000 0000 0011
		 * 5&3    :0000 0000 0000 0000 0000 0000 0000 0001
		 * 1:可理解成true
		 * 0:可理解成false
		 */
	}
}

 

 

输出结果:

true&true=true
true&false=false
false&false=false
----------
true&&true=true
true&&false=false
false&&false=false
----------
false
1
false
1
----------
false
0
false
1
----------
5&3=19

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值