Question1:
int[] a = new int[]{0,1};
int i = 0;
a[i++] = a[i]+1;
System.out.println(a+" "+i);
求输出结果?并解释为什么?
提示:根据i++是一个语句、有返回值这一信息(而且还利用到了temp),以及运算符的优先级和结合性判断。
Question2:
int i = 0;
int a = i+++++i;
System.out.println(a+" "+i);
int i = 0;
int a = i++ + ++i;
System.out.println(a+" "+i);
int i = 0;
int a = i++ + ++i;
System.out.println(a+" "+i);
试试这三组语句,你猜猜会输出什么?
我估计大部分人都没见过讲这个的,哈哈
做完这个问题,你会对编译有新的微小的理解。
Question3:
for(int i : nums){
i++;
}
其中 i 是软拷贝还是硬拷贝?