java代码替代if java 替代

java语言中可以用 switch 分支语句代替 if 条件语句吗?

问题阐述

创新互联"三网合一"的企业建站思路。企业可建设拥有电脑版、微信版、手机版的企业网站。实现跨屏营销,产品发布一步更新,电脑网络+移动网络一网打尽,满足企业的营销需求!创新互联具备承接各种类型的做网站、成都网站设计项目的能力。经过十余年的努力的开拓,为不同行业的企事业单位提供了优质的服务,并获得了客户的一致好评。

通常情况下,switch语句比一系列嵌套的if语句更有效,那么是否可以用switch分支语句代替if条件语句呢?

昆明北大青鸟java培训专家解答

在实际编程过程中,并不是所有的if条件语句都可以用switch分支语句代替。由于switch语句的表达式只能测试byte、short、int或char类型的相等情况,而if语句可以计算任何类型的布尔表达式,所以对于判断非相等情况时,就不能用switch语句代替if语句。

例如,下面的用于比较两个变量大小的if语句,就不能使用switch语句代替。

inta=36;//声明int型变量a,并赋初值intb=77;//声明int型变量b,并赋初值if(ab){//判断a是否大于bSystem.out.println("变量a大于变量b");//如果条件成立,输出的信息}else{System.out.println("变量a小于变量b");//如果条件不成立,输出的信息}专家点评

在可以使用switch语句代替if语句的情况下,也最好遵循下面的原则:如果条件在3重之内,最好使用if条件语句,如果超过了3重,则最好使用switch分支语句。

java,多层for()循环,if()else嵌套分别用什么替代?

那要看他们的条件了,如果条件的规律的话,if(){}else{}用switch代替,for()用递归代替

Java Script 用 switch 替代 if 的问题

function getcasenum{

var num1 = document.fm.min.value;

var num2 = document.fm.max.value;

var msg_1 = check(num1);

var msg_2 = check(num2);

num1 = parseInt(num1);

num2 = parseInt(num2);

if (msg_1 != "" msg_2 != ""){

return 1;

}lse if (msg_1 != "" msg_2 == ""){

return 2;

}else if (msg_1 == "" msg_2 != ""){

return 3;

}else if (num1 num2){

return 4;

}else{

return 5;

}

function display(var casenum){

switch casenum{

case 1:alert(aaa);break;

case 2:alert(bbb);break;

case 3:alert(ccc);break;

case 4:alert(eee);break;

default:

document.getElementById("put").innerHTML=Loop(num1,num2);

}

}

有什么完美的方法替代java中的 if-else,switch-case

如果有大量同样的逻辑分支判断组,只是执行内容不一样,那么经典方法是用多态,建一个抽象基类,里面包含一个抽象函数。每个子类代表一个逻辑分支,实现抽象函数时,函数逻辑对应之前的if分支的内容。但是一定会保留一组if,提供在什么情况下返回什么子类的信息。这样做的好处是可以把多个if合并成一个。

如果没有大量同样的逻辑分支判断组的话,没必要调整,直接这么写就好。


文章标题:java代码替代if java 替代
当前地址:http://pwwzsj.com/article/ddgppjp.html