public static void main(String[] args) {
int i = 0;
if(i++>1){
System.out.println("1:"+i);
}else if(i++>1){
System.out.println("2:"+i);
}else if(i++>1){
System.out.println("3:"+i);
}else if(i++>1 ){
System.out.println("4:"+i);
}else{
System.out.println("5:"+i);
}会把所有的分支都走一遍呢还是有一个满足条件的就跳出了?
int i = 0;
if(i++>1){//i=0
System.out.println("1:"+i);
}else if(i++>1){//i=1
System.out.println("2:"+i);
}else if(i++>1){//i=2
System.out.println("3:"+i);//输出这里
}else if(i++>1 ){
System.out.println("4:"+i);
}else{
System.out.println("5:"+i);
}
i++代表取得i值之后再加,所以是在第三个判断条件时成立,并且输出的时候i已经被加到3
这种else if,都是排他性的
只要满足一个,其它都不执行了