请查看下面的代码片段,让我知道如何输出1 2.
int[] a = { 1,2,3,4 }; int[] b = { 2,1,0 }; System.out.println( a [ (a = b)[3] ] ); System.out.println(a[0]);
实际答案1
2
谢谢
解决方法
我会试着解释一下:
a [(a = b)[3]]将按以下顺序执行:
> a […] – 将读取数组a并为其存储引用
>(a = b) – 变量a设置为引用数组b
>(a = b)[3] – 读取数组b的第4个元素(由于步骤2),该值为0
> a [(a = b)[3]] – 现在等于a [0](因为步骤1和3),值为1
a [0]现在产生2,因为引用数组b(因为步骤2)并且该数组中的第一个元素是2.