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;
}