十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
在Java中,逻辑运算有And、Or、Not三种,其中And、Or又分为普通逻辑运算和短路逻辑运算两种。其中普通逻辑运算And用“”表示,“|”表示或者关系。短路逻辑运算的时候,“”表示短路与,“||”表示短路或。
创新互联网站建设提供从项目策划、软件开发,软件安全维护、网站优化(SEO)、网站分析、效果评估等整套的建站服务,主营业务为成都做网站、成都网站制作、成都外贸网站建设,app软件开发公司以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。创新互联深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
1、一般逻辑运算需要在逻辑运算符两侧的逻辑表达式,都参与逻辑运算,其表达式的值进行比较,依次计算出最后的值。
2、短路逻辑运算符需要首先计算最左边的表达式,如果最左边的表达式成立,则不再进行整个表达式的判断,直接取最左边的表达式为整个表达式的值。
下面的例子虽然输出的值一样,但是运算的方式不一样:
private
void
testAnd(boolean
on
,boolean
tw){
System.out.println("truefalse
=
"+
(truefalse));
System.out.println("falsefalse
=
"+
(falsefalse));
System.out.println("falsetrue
=
"+
(falsetrue));
System.out.println("truetrue
=
"+
(truetrue));
System.out.println("
");
System.out.println("truefalse
=
"+
(truefalse));
System.out.println("falsefalse
=
"+
(falsefalse));
System.out.println("falsetrue
=
"+
(falsetrue));
System.out.println("truetrue
=
"+
(truetrue));
System.out.println("
");
System.out.println("true||false
=
"+
(true||false));
System.out.println("false||false
=
"+
(false||false));
System.out.println("false||true
=
"+
(false||true));
System.out.println("true||true
=
"+
(true||true));
System.out.println("
");
System.out.println("true|false
=
"+
(true|false));
System.out.println("false|false
=
"+
(false|false));
System.out.println("false|true
=
"+
(false|true));
System.out.println("true|true
=
"+
(true|true));
}
输出结果为:
短路或“”只有在左边的表达式值为true时,才会考虑右边表达式的值,否则直接取左边的值为整个表达式的值;
truefalse
=
false
falsefalse
=
false
falsetrue
=
false
truetrue
=
true
//全部计算表达式两面的值,然后取值运算;
truefalse
=
false
falsefalse
=
false
falsetrue
=
false
truetrue
=
true
短路或“||”只有在左边的表达式值为false时,才会考虑右边表达式的值,否则直接取左边的值为整个表达式的值;
true||false
=
true
false||false
=
false
false||true
=
true
true||true
=
true
普通或"|"全部计算表达式两面的值,然后得出结果
true|false
=
true
false|false
=
false
false|true
=
true
true|true
=
true
适用短路运算的条件
1)、表达式前后的逻辑条件有明显的顺序关联关系,顺序条件早的在表达式的左边;
2)、逻辑运算符比较少,不会有嵌套或者短路与非短路逻辑混合的情况;
3)、使用短路运算,必须清楚的明白所要判断的逻辑值的具体细节;
4)、如果""和"||"混用,则不考虑使用短路运算;
一般如果要判断两个条件时用连接;
如;
if(i10i0)表示如果变量i的值即大于0,且小10,就执行下面的代码.
比如:
boolean ok = false;
if(!ok)
{
System.out.println("ok");
}
//结果会打印ok;
if(!End)return;和if(End==false)return
是一个意思:如果End 为false ,就返回.
if(End)return;和if(End==true)return;是一个意思;
祝楼主成功.
boolean flag=false;
if(alist!=null alist.size()!=0){
for(int i=0;ialist.size();i++){
A a=(A)alist.get(i);
int m=a.getB();
if(m!=3){
flag=true;
if(m==1){
resp.sendRedirect("you1.htm");
break;
}else if(m==2){
resp.sendRedirect("you1.htm");
break;
}
}
}
if(!flag) resp.sendRedirect("no.htm");
}
else{resp.sendRedirect("no.htm");}
java逻辑代码块是指使用{}大括号内的代码片段,为了实现某种逻辑和主类区分开来的一段代码。分为静态代码块、普通代码块,示例如下:
/**
* 静态代码块先于构造器执行 普通块先于构造块 只执行一次
* 凡是静态的与对象无关,先于对象存在的; 凡是静态的都是共享的
*
*/
public class Test {
static {//静态代码块
System.out.println("static");
}
{
System.out.println("普通块2");
}
public Test() {
System.out.println("构造器");
}
||是“或” 只要有一个是真就是正 比如 ture||false 这个结果就是true
是“与” 只有两面都是真的时候才是真 比如 truetrue 结果是true
上面的结果经过分析之后是:true
答案是C:
其实很简单,你拆开看,比如
A: 154 15短路4 这根本不是逻辑!
B,D都一样..
如果他们是非短路,就是位赋值运算!
我在补充下:何为逻辑,记简单一点就好了,这么记:真吗?假吗?
真吗?假吗?
假吗?真吗?
真吗?真吗?
你套这个公式:发现只有C合理!