读书人

发个简单的题看看输出是多少,该怎么

发布时间: 2012-06-08 12:55:24 作者: rapoo

发个简单的题,看看输出是多少

Java code
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);
}



[解决办法]
3:3
[解决办法]
else这个词真是好形象啊
[解决办法]
3:3
i++代表取得i值之后再加,所以是在第三个判断条件时成立,并且输出的时候i已经被加到3
[解决办法]
3:3 感觉这个问题比较简单
[解决办法]
3:3
[解决办法]
3:3
[解决办法]
3:3
这种else if,都是排他性的
只要满足一个,其它都不执行了
[解决办法]
应该是考察++操作和比较操作>的执行顺序吧?

读书人网 >J2SE开发

热点推荐