逻辑运算符:
public class Demo05 {
//逻辑运算符
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));//如果是真,则变为假;如果是假,则变为真
//短路运算
int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);
System.out.println(c);
}
}
位运算符:
public class Demo06 {
//位运算(与二进制有关)
public static void main(String[] args) {
/*
A = 0011 1100
B = 0000 1101
A&B = 0000 1100 与
A|B = 0011 1101 或
A^B = 0011 0001 异或
~B = 1111 0010 取反
2*8 = 16 2*2*2*2
//位运算效率高
<< 左移 左移一位乘以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
0010 0000 代表:32
0100 0000 代表:64
1000 0000 代表:128
*/
System.out.println(2<<3);
}
}