逻辑运算与位运算
package Demo;
public class Demo003 {
public static void main (String[] args){
//与 (and) 或 (or) 非 (取反)
Boolean a = true;
Boolean b = false;
System.out.println("a && b:"+(a&&b));//逻辑与运算,两个都为真,结果才为true
System.out.println("a || b:"+(a||b));//逻辑或运算 两个有一个为真,结果才为true
System.out.println("!(a && b):"+!(a&&b));//或者非运算,取反 如果是true则输出false,是false则输出true
//短路运算
int e = 5;
Boolean c = (e<4)&&(e++<5);//因为e<4已经是假了所以不成立,e还是输出的5
System.out.println(c);
System.out.println(e);
//位运算
/*
A=0011 1110
B=1010 0101
A & B 与 同1为1,同0为0,0010 0100
A | B 或 有1为1,同0为0,1011 1111
A ^ B 异或 相同为0,不同为1,1001 1011
~B 非 取反 0101 1010
2*8如何运算最快 一般2*2*2*2=16 但是位运算最快
<<(左移)数字*2 >>(右移)数字/2
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 0101 5
0000 0110 6
0000 0111 7
0000 1000 8
0001 0000 16
效率及高
*/
}
}