面试题----i++

面试题1:

内容:

public static void main(String args[]){


        System.out.println("Hello");

        int i=1;
        i=i++;      // 1 
        int j=i++;  //2 
        int k=i+ ++i * i++; //3
        System.out.println("i="+i);
        System.out.println("j="+j);
        System.out.println("K="+k);
    }
}

 

输出结果:

Hello
i=4
j=1
K=11

结果分析:

代码中1位置的 i = i++ 代码相当于下面的代码

int temp = i;
i = i+1;
i = temp;

所有此时的i的值为1;

下一行代码 int j = i ++ ;i先复制给j 然后自增。所以此时j =1 ;i= 2;

k= i+ ++i * i++;  k = 2 + (2+1)* 3 =  11 

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