首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

IBM的一路面试题,比较迷惑

2011-12-23 
IBM的一道面试题,比较迷惑publicclassTest{publicstaticvoidmain(String[]args){inti0int[]z{3,7}z[i]

IBM的一道面试题,比较迷惑
public   class   Test
{
        public   static   void   main(String[]   args)
      {
              int   i   =   0   ;
              int[]   z   =   {   3   ,   7   }   ;
              z[i]   =   i   =   5   ;
              System.out.println(i   +   z[0]   +   z[1]);
      }
}
当时答题时蒙对了,运行结果是17
可是我一直比较迷惑,为什么是17,请高手给个详细的解释,小弟多谢了!

[解决办法]
应该是因为“[]”优先级比“=”高,所以z[i]先被“求值”,即定位到z[0],之后,才是两个赋值开始起作用,按向右结合,等价于:
z[0] = (i = 5);
即:
i = 5;
z[0] = i;

热点排行