问个基本问题,|和||,&和&&有什么区别
|是布尔或,||是条件或,这个布尔和条件之间有什么区别呢?
|是布尔或,||是条件或,这个布尔和条件之间有什么区别呢?
解决方案 »
- 在使用RMi的时候抛出internal error: ObjID already in use
- 急!求助!Hibernate中遇到Could not synchronize database state with session问题
- 前辈们快进!!!!!!!前辈们快进!!!!
- 假如输入aabbabcca,则输出a4b3c2,请问如何实现
- 用PrepareStatement执行报错:数据大小超出此类型的最大值,但是用Statement却可以执行成功
- 求APPLET+SERVLET之间通讯简单DOME
- 有没有问过自己这样的问题
- 如何在函数的参数中实现字符串数组的创建
- 能否使用代码实现FTP连接远程服务器自动下载文件?
- 2个基础问题,请赐教
- 图片已经读出,为什么drawImage函数还是返回空值?
- 请教一个有关ClassLoader问题
也就是说,在使用&&操作符时,如果操作符左边为flase,则不计算操作符的后边,只有在左侧为true的时候才计算后边.使用||一样。这种运算不必评估表达式中的所有部分,提高了效率。
example:
public class ShortCircuit{
static boolean test1(int val){
System.out.println("tets1("+val+")");
System.out.println("result :"+(val<1));
return val<1;
}
static boolean test2(int val){
System.out.println("tets2("+val+")");
System.out.println("result :"+(val<2));
return val<2?false:true;
}
static boolean test3(int val){
System.out.println("tets3("+val+")");
System.out.println("result :"+(val<3));
return val<3;
}
public static void main(String[] args){
if(test1(0)&&test2(2)&&test3(3)){
System.out.println("ture");
}
else{
System.out.println("false");
}
}
}
自己看一下结果就理解了!