天天看点

JAVA—— & 和 &&

& 和 && 都是二元运算符。(data1 & data2 、data1 && data2)

当data1和data2都是boolean类型的时候,都有逻辑与(and)的作用,但是,当data1为false时, && 不执行 data2。

& 中data1、data2还可以是数字,这时执行按位与运算。&& 中data1和data2不能为数字。

以下是demo:

public class Test
{
	public static void main(String[] args)
	{
		System.out.println("5的二进制是:" + Integer.toBinaryString(5));
		System.out.println("6的二进制是:" + Integer.toBinaryString(6));
		System.out.println("5 & 6结果:" + Integer.toBinaryString((5 & 6)));
		System.out.println("5 & 6结果:" + (5 & 6));
		System.out.println("false & true:" + (false & true));
		System.out.println("true  & true:" + (true & true));

		if (boolean_true() && boolean_false()){}
		if (boolean_false() && boolean_true()){}
	}

	public static boolean boolean_true()
	{
		System.out.println("I am true!");
		return true;
	}

	public static boolean boolean_false()
	{
		System.out.println("I am fasle!");
		return false;
	}
}
           

执行结果:

5的二进制是:101

6的二进制是:110

5 & 6结果:100

5 & 6结果:4

false & true:false

true  & true:true

I am true!

I am fasle!

I am fasle!