關於 if 中的判斷

    最近記憶力有點不好,以前看過的東西老是會忘。

    今天看到一個小面試題,竟然又想不起來了。故此記下。

public class Test  {
   
public static void main(String[] args){
       
int k=0;
       
int j=0;
       
int w=0;
       
for(int i=0;i<5;i++){
           
if(++k>2&&j++>2&&++w>2){
                k
++;
               
++j;
               
++w;
            }
        }
        System.out.println(
"k="+k+"  "+"j="+j+"  "+"w="+w);
    }
}

 

本題的考點在於 if 中&&的短路運算

即若&&之前的運算爲假,則後面的運算不進行。

i=0,小於5

k=1不大於2,後面的不算,i=1,小於5

k=2不大於2,後面的不算,i=2,小於5

k=3大於2,則j不大於2,j=1,i=3,小於5

k=4大於2,則j不大於2,j=2,i=4,小於5

k=5大於2,則j不大於2,j=3,i=5,等於5

退出for

 

 

算是對++的一次複習吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章