问题程序如下:
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);
这段代码是什么意思???
谢谢
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);
这段代码是什么意思???
谢谢
b = i<10 || methodB(8);
--------------------------
经测试,上面两句没有区别。但,“|”可用于“按位或”,而“||”不能。如:
int a = 5;
int b = 3;
int c = a | b; //c的值将是7。如果写 c = a||b,就不能编译了。
b = i<10 || methodB(8);
因为b是布尔型,所以在这里因该是一样的
就是b=(i<10|mehtodB(4));
|为普通或
b = i<10 || methodB(8);
与以上同,但是||是短路或。就是i<10为真时就不判断后面了!!