连用if就是自上而下进行多个if判断,所以当第一个if里出现关于变换条件的数值变换,就会导致第二个if判断里的数值按照第一个if里变换的数值进行判断以此类推,这样会导致你预期的结果与实际执行的结果出现很大的不同。除非你在if中增加return进行跳出,但是这样会导致后面所有的代码都不会执行。
而if else则是如果第一条判断为ture则其他判断都不会执行然后执行后面的代码
例子如下:
public class Ifandelseif {
public static void main(String[] args){
int a=6;
int b=87;
int c=0;
System.out.println("a为"+a+",b为"+b+",c为"+c);
if(a<b){
c=a;
a=b;
b=c;
}
if(a>b){
System.out.println("现在a为"+a+",b为"+b+",c为"+c);
c=a;
}
if(a==c){
System.out.println("现在a为"+a+",b为"+b+",c为"+c);
}
System.out.println("====================================================");
int e=6;
int f=87;
int g=0;
System.out.println("e为"+e+",f为"+f+",g为"+g);
if(e<f) {
g = e;
e = f;
f = g;
}else if(e>f){
System.out.println("现在e为"+e+",f为"+f+",g为"+g);
c=a;
}else if(e==g){
System.out.println("现在e为"+e+",f为"+f+",g为"+g);
}
}
}
输出结果为:
a为6,b为87,c为0
现在a为87,b为6,c为6
现在a为87,b为6,c为87
====================================================
e为6,f为87,g为0