当前位置: 技术问答>java相关
简单问题!!!100分!!!
来源: 互联网 发布时间:2017-04-21
本文导语: &、| 非简洁与、或 &&、|| 简洁与、或 这两种逻辑运算有什么分别? | &、| 连接两个boolean运算表达式时,不管前面一个表达式的运算结果,第二个运算表达式都会运行。 &&、|| ...
&、| 非简洁与、或
&&、|| 简洁与、或
这两种逻辑运算有什么分别?
&&、|| 简洁与、或
这两种逻辑运算有什么分别?
|
&、| 连接两个boolean运算表达式时,不管前面一个表达式的运算结果,第二个运算表达式都会运行。
&&、|| 则在运行完第一个表达式后判断,在有些情况下第一个表达式的运算结果已经能确定整个表达式的结果时,后面一个表达式将不再运算。
super指的是父类
&&、|| 则在运行完第一个表达式后判断,在有些情况下第一个表达式的运算结果已经能确定整个表达式的结果时,后面一个表达式将不再运算。
super指的是父类
|
&、| 连接两个boolean运算表达式时,不管前面一个表达式的运算结果,第二个运算表达式都会运行。
&&、|| 则在运行完第一个表达式后判断,在有些情况下第一个表达式的运算结果已经能确定整个表达式的结果时,后面一个表达式将不再运算。
举个简单的例子:
int a = 0;
int b = 1;
(a>0) & ((b--)==2) 虽然第一个表达式a>0的结果为false,已经可以确定整个表达式的结果为false,但因为是'&'运算符,所以第二个表达式还要运行,从而b最终值为0。
如果为 (a>0) && ((b--)==2) 在第一个确定为false以后,将不再运算第二个,从而b最终值仍然为1。
&&、|| 则在运行完第一个表达式后判断,在有些情况下第一个表达式的运算结果已经能确定整个表达式的结果时,后面一个表达式将不再运算。
举个简单的例子:
int a = 0;
int b = 1;
(a>0) & ((b--)==2) 虽然第一个表达式a>0的结果为false,已经可以确定整个表达式的结果为false,但因为是'&'运算符,所以第二个表达式还要运行,从而b最终值为0。
如果为 (a>0) && ((b--)==2) 在第一个确定为false以后,将不再运算第二个,从而b最终值仍然为1。