& 和 &&的运算(值)结果 及 Boolean结果

来源:互联网 发布:riptide知乎 编辑:程序博客网 时间:2024/06/11 18:50
package day;
public class Test_05 {


public static void main(String[] args) {
//练习1  看程序猜结果
int i =3;
int j =2;
//boolean n =(i++)>(--j) & (--i)%(j++)==1 & (i--)<(j--);
//System.out.println("i的值是:"+i+";j的值是:"+j+";Boolean结果:"+n);//2  1 false
/*分析:
* i=3,4,3,2 j=2,1,2,1
   n=3>1  &  3%1==1  &  3<2;  
   n=(true &  false )  &  3<2;
   n=false  & false
   n=false
*/


boolean m =(i++)>(--j) && (--i)%(j++)==1 && (i--)<(j--);
System.out.println("i的值是:"+i+";j的值是:"+j+";Boolean结果:"+m);//2  1 false
/*分析: 
i=3,4,3   j=2,1,2

m= 3>1  ;i=4,j=1,true 
m= 3%1==1 ;i=3,j=2,false //真真为真,有1个假为假   
m= true+false=false//注意:算出2个结果就可以&&了,如果3个结果出来再&&就会错了
m= false  //&& 当左边为false时,右边不运算 ,所以&& (i--)<(j--);直接不用计算了
*/
}
}
原创粉丝点击