问题程序如下:
public class Q3{
  private static int j = 0;
  private static boolean methodB(int k){
    j +=k;
    return true;
    }
  public static void methodA(int i){
    boolean b;
      b = i<10 | methodB(4);
      b = i<10 || methodB(8);
    }
  public static void main(String[] args){
    methodA(0);
    System.out.println(j);
    }
}
能解释一下
    boolean b;
      b = i<10 | methodB(4);
      b = i<10 || methodB(8);
这段代码是什么意思???
谢谢

解决方案 »

  1.   

    b = i<10 | methodB(4);
    b = i<10 || methodB(8);
    --------------------------
    经测试,上面两句没有区别。但,“|”可用于“按位或”,而“||”不能。如:
    int a = 5;
    int b = 3;
    int c = a | b; //c的值将是7。如果写 c = a||b,就不能编译了。
      

  2.   

    b = i<10 | methodB(4);
          b = i<10 || methodB(8);
    因为b是布尔型,所以在这里因该是一样的
      

  3.   

    b = i<10 | methodB(4);
    就是b=(i<10|mehtodB(4));
    |为普通或
    b = i<10 || methodB(8);
    与以上同,但是||是短路或。就是i<10为真时就不判断后面了!!