2個方案吧:
鎮(zhèn)安ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
1.用數(shù)據(jù)庫的 存儲過程 ,相當(dāng)于數(shù)據(jù)庫的函數(shù),這里面可以加 邏輯判斷
這個方法比較少用
2.在客戶端分2步訪問數(shù)據(jù)庫,第一步登錄,根據(jù)返回的數(shù)據(jù),再決定是否 更新數(shù)據(jù)庫,不是在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)策略模式
根據(jù)不同的參數(shù)走不同的邏輯
if (strategy.equals("fast")) {
// 快速執(zhí)行
} else if (strategy.equals("normal")) {
// 正常執(zhí)行
} else if (strategy.equals("smooth")) {
// 平滑執(zhí)行
} else if (strategy.equals("slow")) {
// 慢慢執(zhí)行
}
在Java中,邏輯運(yùn)算有And、Or、Not三種,其中And、Or又分為普通邏輯運(yùn)算和短路邏輯運(yùn)算兩種。其中普通邏輯運(yùn)算And用“”表示,“|”表示或者關(guān)系。短路邏輯運(yùn)算的時候,“”表示短路與,“||”表示短路或。
1、一般邏輯運(yùn)算需要在邏輯運(yùn)算符兩側(cè)的邏輯表達(dá)式,都參與邏輯運(yùn)算,其表達(dá)式的值進(jìn)行比較,依次計算出最后的值。
2、短路邏輯運(yùn)算符需要首先計算最左邊的表達(dá)式,如果最左邊的表達(dá)式成立,則不再進(jìn)行整個表達(dá)式的判斷,直接取最左邊的表達(dá)式為整個表達(dá)式的值。
下面的例子雖然輸出的值一樣,但是運(yùn)算的方式不一樣:
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));
}
輸出結(jié)果為:
短路或“”只有在左邊的表達(dá)式值為true時,才會考慮右邊表達(dá)式的值,否則直接取左邊的值為整個表達(dá)式的值;
truefalse
=
false
falsefalse
=
false
falsetrue
=
false
truetrue
=
true
//全部計算表達(dá)式兩面的值,然后取值運(yùn)算;
truefalse
=
false
falsefalse
=
false
falsetrue
=
false
truetrue
=
true
短路或“||”只有在左邊的表達(dá)式值為false時,才會考慮右邊表達(dá)式的值,否則直接取左邊的值為整個表達(dá)式的值;
true||false
=
true
false||false
=
false
false||true
=
true
true||true
=
true
普通或"|"全部計算表達(dá)式兩面的值,然后得出結(jié)果
true|false
=
true
false|false
=
false
false|true
=
true
true|true
=
true
適用短路運(yùn)算的條件
1)、表達(dá)式前后的邏輯條件有明顯的順序關(guān)聯(lián)關(guān)系,順序條件早的在表達(dá)式的左邊;
2)、邏輯運(yùn)算符比較少,不會有嵌套或者短路與非短路邏輯混合的情況;
3)、使用短路運(yùn)算,必須清楚的明白所要判斷的邏輯值的具體細(xì)節(jié);
4)、如果""和"||"混用,則不考慮使用短路運(yùn)算;