面试题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