string a = null;
if(a!=null&a.Length>0) {}
if(a!=null&&a.Length>0) {}
if(a!=null | a.Length==0) {}
if(a!=null || a.Length==0) {}
貌似&&逻辑运算符是前面false 后面就执行
& 前面执行后面也要执行?
请高手分析一下 | 和 || 是什么样的?
简述逻辑操作(&,|,^)与条件操作(&&,||)的区别。
区别主要答两点:
a.条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作数值型
b.逻辑操作不会产生短路
这个怎么解释?
.好吧 你赢了 我错了
public class ttttz {
/**
* @param args
*/
static boolean s (int[] sx)
{
sx[0]=10;
return true;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int x[] = new int[1];
x[0]=1;
if((x[0]==5)&&ttttz.s(x))
{
/*这里使用了&& 必须&&的前后的值都是真结果才为真 如果第一个结果为假的话 后边的
ttttz.s(x) 就不会被执行这个时候x的值还是1 */
}
System.out.print(x[0]);
if((x[0]==5)&ttttz.s(x))
{
/*用&的话 后边de ttttz.s(x)也会被执行 这就是你上边说的 b逻辑操作不会产生短路
|和||也是同理 ||的话如果左边的返回值是真的话那右边的表达式就不会被执行了 用|的不管左边的值是什么右边的表达式都会被执行
*/
}
System.out.print(x[0]);
}
}
这个例子虽然有点傻但是完全却能说明你说的东西