Java语言里if和switch的区别是什么,什么时候用if呢
老师说过的,但是笔记没有来得及记下来。
一般有传入值用switch 其他用if
或者多个值区分使用switch 其他用if
java中if三种形式分别为if(){}、if(){}else{}、if(){}else if(){}else if(){}...else{}
第一种:if(){}
当符合某种条件时需要额外的执行步骤时,使用if(){}而不需要用else{},如jdbc中关闭连接时:
if(con !=null){//即当con对象不为空时,需要执行 con.close();
con.close();
}
第二种:if(){}else{}
int i=9;
if(i<9){
System.out.println("i小于9");
}else{
System.out.println("i不小于9");
}
这种情况可以使用三目运算符:
String s=i<9 ? "i小于9" : "i不小于9";
System.out.println(s);
第三种:if(){}else if(){}else{}
int i=9;
String s=null;
if(i==1){
s="i等于1";
}else if(i==2){
s="i等于2";
}else if(i==3){
s="i等于3";
}else{
s="i不等于1、2、3,那究竟等于几呢?";
}
System.out.println(s);
这种情况可以用
switch(i){
case 1:
s="i等于1";
break;
case 2:
s="i等于2";
break;
case 3:
s="i等于3";
break;
default :
s="i不等于1、2、3,那究竟等于几呢?";
break;//这个break语句可以省略
}
由switch构成的多分支结构,必须能表示成一个表达式的值控制执行流程的形式。
对于由不同条件嵌套构成的多分支结构,无法用swutch来表示。
首先switch的限制很大,只能接受枚举、字符、数字,一般情况下还是用if else的多,当然在有很多并排的分支要写一大串if else的时候,再用switch。