javaif太多
① java過多的if判斷會令運行時間變長嗎
當然會。然而,計算機的計算能力是非常強大的。一個if和一千個if計算所需的時間可能只是相差幾百毫秒。
② JAVA 多重IF語句
首先 樓主注意了 程序是一行一行執行的
如果你的money是55按理說應該是("我可以買輛依蘭特");
但你的else if (money >=10){
System.out.println("至少我可以買個奧托");
}
這句話在伊蘭特的前面 程序執行到這發現55>=10結果為真 便執行了
System.out.println("至少我可以買個奧托");
這句話
樓主要將奧拓和伊蘭特換位置
例如:
if (money >=500){
System.out.println("太好了,我買凱迪拉克");
}else if (money >=100){
System.out.println("不錯,我可以買帕薩特");
}else if (money >=50){
System.out.println("我可以買輛依蘭特");
}else if (money >= 10){
System.out.println("至少我可以買個奧托");
}else {
System.out.println("看來,我只能買個捷安特了");
這樣就可以了
③ java中怎麼精簡If語句的堆砌
1. 一條if語句,可以用三目運算符
2. 少量的if語句,也可以用switch case 來處理
3. 如果條件判斷很多,有很多的if else ,那麼可以思考下.能不能精簡下邏輯判斷
如果邏輯不能簡化, 那麼可以考慮用HashMap,HashTabl這種key<-->Value的數據結構來存儲
比如有很多的異常錯誤信息,要提示,
如錯誤代碼105 輸出 文件讀取錯誤
106..輸出..XXX錯誤 107...輸出....xx錯誤 .........
如果用if來判斷要寫很多,那麼可以考慮存入map里
HashMap<Integer,String>map=newHashMap<Integer,String>();
map.put(105,"文件讀取錯誤");
map.put(106,"網路連接錯誤");
....
//使用的時候,得到錯誤代碼.就去map里找.就能找到對應的文字提示了
map.get(105);///-->就能得到字元串"文件讀取錯誤"
④ 在JAVA中的if else符合條件語句中,當條件超過3條時是什麼結構
條件多組合的方式也就多,基本上沒有什麼好方法,就是if esle if了!
循環是不能滿足條件的組合方式的!switch也可以,但是也是要寫條件表達式的 和if else if差不多了!
⑤ Java中連續使用if,為什麼程序會出錯
首先說明,java中if可以那樣用。問題的原因是程序邏輯有問題。
我在程序中if(n%2==1)
n=3*n+1;後加了一個列印語句。
用if(n%2==0)n=n/2;
if(n%2==1)
n=3*n+1;
結果這樣的,
times=1,n=10
times=2,n=16
用if(n%2==0)n=n/2;
else
n=3*n+1;
結果是
times=1,n=10
times=2,n=5
用if(n%2==0)n=n/2;
if(n%2==1)
n=3*n+1;
n值可能會改變兩次。
⑥ java代碼中有很多if判斷語句,如果優化,或者用什麼設計模式
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 好多if判斷如何編寫更合理
1、取得輸入框txt1,txt2,txt3的值;
String txt1 = request.getparameter("txt1");
……
2、進行如下判斷:
if (txt1.trim().length == 0 || txt2.trim().length == 0 || txt3.trim().length == 0) {
……//為空時的處理
} else {
…… // 不為空時的處理
}
⑧ java 判斷條件過多怎麼辦有什麼好的解決辦法嗎
一個方法是用switch;
還有一個方法是建立兩個數組,一個是你對應的值,一個是你想轉換的值,例子如下:
char x1[]={'b','q','t','m','i','c','a','e','l'};
char x2[]={' ',',','!','l','e','a','c','i','m'};
for(j = 0;j < 9;j++)
if(a == x1[j]){
st1[i] = x2[j];
break;
}