2个方案吧:
镇安ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!
1.用数据库的 存储过程 ,相当于数据库的函数,这里面可以加 逻辑判断
这个方法比较少用
2.在客户端分2步访问数据库,第一步登录,根据返回的数据,再决定是否 更新数据库,不是在sql语句中逻辑判断 一般都这么用
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");}
1)提前return
if (condition) {
// do something
} else {
// do something
}
上面的代码可以写成
if (!condition) {
return xxx;
}
// do something
2)策略模式
根据不同的参数走不同的逻辑
if (strategy.equals("fast")) {
// 快速执行
} else if (strategy.equals("normal")) {
// 正常执行
} else if (strategy.equals("smooth")) {
// 平滑执行
} else if (strategy.equals("slow")) {
// 慢慢执行
}
在Java中,逻辑运算有And、Or、Not三种,其中And、Or又分为普通逻辑运算和短路逻辑运算两种。其中普通逻辑运算And用“”表示,“|”表示或者关系。短路逻辑运算的时候,“”表示短路与,“||”表示短路或。
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)、如果""和"||"混用,则不考虑使用短路运算;