-
区分“&”和“&&”:
-
相同点:如果符号左边是true,则二者都执行符号右边的操作
-
不同点:
& : 如果符号左边是false,则继续执行符号右边的操作
&& :如果符号左边是false,则不再继续执行符号右边的操作 -
建议:开发中,推荐使用 &&
-
-
区分“|”和“||”:
-
相同点:如果符号左边是false,则二者都执行符号右边的操作
-
不同点:
| : 如果符号左边是true,则继续执行符号右边的操作
|| :如果符号左边是true,则不再继续执行符号右边的操作 -
建议:开发中,推荐使用 ||
-
案例
private static void demo1() {
int a = 20;
int b = 20;
boolean bo1 = ((++a % 3) == 0) && ((a++ % 7) == 0);//21%3 && 21%7 a++
System.out.println("bo1的值:" + bo1);
System.out.println("a的值:" + a);//22
System.out.println("----------------------------");
boolean bo2 = ((b++ % 3) == 0) && ((++b % 7) == 0); //20%3 b++
System.out.println("bo2的值:" + bo2);
System.out.println("b的值:" + b);//21
}