java运算符

一:

!(a&&b)的含义是!a或者!b,例如a==1,b==2,取反则为a!=1或b!=2为true

!(a||b)的含义是!a并且!b,例如a==1,b==2,取反则为a!=1并且b!=2为true

二:

a^=b等价于a=a^b,表示将a和b换算为二进制形式后按位进行异或运算,即遇相同位取0不同位取1。

例题1:

p:False q:True p^q=True
p:True q:False p^q=True
p:True q:True p^q=False

例题2:

a=4,b=2,求a^b

a的二进制位100,b的二进制为10

a^b,为110,即3

三:&与&&,|与||的区别

&和&&都是逻辑运算符,都是判断两边同时真则为真,否则为假。但是&&当第一个条件不成之后,后面的条件都不执行了,而&则还是继续执行,直到整个条件语句执行完为止

例如:

  if(10!=10&10/0==0){
    System.out.println("条件满足") ;
  }

运行程序时会报错.java.lang.ArithmeticException: / by zero,原因在于&后面的条件也会执行(0不能当被除数)

而 

if(10!=10&&10/0==0){
    System.out.println("条件满足") ;
  }

这不会报错,原因在于后面的条件不会执行

|与||的区别同上。

posted @ 2015-12-10 22:38  黄昏的麦田  阅读(309)  评论(0编辑  收藏  举报