首页 > 代码库 > 3.2.2之关系和逻辑操作符

3.2.2之关系和逻辑操作符

题目1:有两个小朋友a和b,如果是女孩则为true。现在有方法的输出:

same(true, true) → true
same(false, false) → true
same(true, false) → false

写出其方法体

public boolean same(boolean a, boolean b) {
   //
}

有趣的是,各种答案:请给个评价吧(10分制)

答案1:

public boolean same(boolean a, boolean b) {
  if (a && b) {
    return true;
  }
  if (!a && !b) {
    return true;
  }
  return false; 
}
答案2:
public boolean same(boolean a, boolean b) {
  return ((a && b) || (!a && !b)); 
}
答案3:

public boolean same(boolean a, boolean b) {
  return !(a^b);
}

答案4:
public boolean same(boolean a, boolean b) {
  return a==b;
}

题目2:求1/[(x+1)(x+2)]时避免除0错误。(多选)

if(        ){

i = 1/(x+1)/(x+2)

}

答案1:x!=1 || x!=2

答案2:x!=1 && x!=2

答案3:!(x==1 || x==2)

答案4:!(x==1 && x==2)

题目3:x>10,表示x大于10;那么x>>10,是不是表示x大大地大于10?(单选)

答案1:当然是的

答案2:x>>>10才是大大地大于

答案3:这是个脑残题。

题目4:练习3-32:if(i == i),在i是什么的时候,不执行后面的语句?




3.2.2之关系和逻辑操作符