++、–
++
表示+1
,--
表示-1
int a = 10;
System.out.println(a++==10); //true ++在后;则先判断,后++
System.out.println("a="+a); // a=11
int b = 10;
System.out.println(++b==10); //false 先++,后判断
System.out.println("b="+b); // b=11
//以上适用于 --
&、&&
&和&&
基本的,需要两个true才返回true
&
与:连接两个判断,当两个结果均为true时,才为true
&&
短路与:连接两个判断,当第一个为false时,不再判断第二个结果是否为true。
int a = 10;
int b = 10;
System.out.println(++a==10&b++==10); // false&true 结果 false
System.out.println("a="+a+" b="+b); // a=11 b=11 变量a、b的值都改变
int a = 10;
int b = 10;
System.out.println(++a==10&&b++==10); // false&true 结果 false
System.out.println("a="+a+" b="+b); // a=11 b=10 变量a改变,b未改变
//b的值为改变,说明b++并未执行。即当++a==10为false时,&&已返回false,未判断&&之后的值。 ||同理,第一个为true,则不会判断结果2
|、||
|
:逻辑或
||
:短路或
int a = 10;
int b = 10;
System.out.println(a++==10|b++==10); // true&true 结果 true
System.out.println("a="+a+" b="+b); // a=11 b=11 变量a、b的值都改变
int a = 10;
int b = 10;
System.out.println(a++==10||b++==10); // true&true 结果 true
System.out.println("a="+a+" b="+b); // a=11 b=10 变量a改变,b未改变