【++】
前置 ++exp:会对变量本身进行+1,表达式的结果是变量+1之后的结果
后置 exp++:会对变量本身进行+1,表达式的结果是变量+1之前的结果。
int z=10;
z++; //10,z=11
++z; //11,z=11
System.out.println(z);//12
System.out.println(z++);//12
System.out.println(++z);//14
System.out.println(z);//14
System.out.println();
【++、&、&&】
第一题
int x = 1,y = 1;
if(x++==2 & ++y==2) //逻辑与&左右为true,结果才是true.先判断左边false x=2;
{ //判断右边true y=2 ; if条件不成立;
x =7;
}
System.out.println("x="+x+",y="+y);
//x= y=
---------------------------------------------------
第二题
int x = 2,y = 1;
if(x++==2 && ++y==2) //短路与&&左右为true,结果才是true.【】如果左侧false,则不执行右侧
{ //先判断左侧:false ,x=2;右侧不执行
x =7;
}
System.out.println("x="+x+",y="+y);
//x= y =
---------------------------------------------------
第三题
int x = 1,y = 1;
if(x++==1 | ++y==1) //逻辑或|左右有一侧为true,结果是true.
{ //先判断左边:true,x=2;右侧false,y=2;此时if条件成立 x=7;
x =7;
}
System.out.println("x="+x+",y="+y);
//x = 7 y = 2
---------------------------------------------------
第四题
int x = 1,y = 1;
if(x++==1 || ++y==1)
{
x =7;
}
System.out.println("x="+x+",y="+y);
//x = y =
- &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
- &&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式。&&的优先级高于||
- ||也具有短路的功能,即如果第一个表达式为true,则不再计算第二个表达式。
- &还可以用作位运算符。