有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java:数组,这里发生了什么?

我编写了下面的程序来处理数组

    public class Tester{
    public static void main (String[]args){
      int [] nums = {1,3,6,1,2};

      System.out.println(nums[0]);  
      System.out.println(nums[nums[1]]);  
   }
}   

输出:

1
1

第二份打印声明中发生了什么?我还是搞不懂。如果我用6或2切换[1],我会得到一个错误,但不是3


共 (1) 个答案

  1. # 1 楼答案

    nums[1]等于3,nums[3]等于1,所以第二行打印出一行,该行的索引值存储在nums[1]中,即3

    nums[0] = 1;
    nums[1] = 3;
    nums[2] = 6;
    nums[3] = 1; <  nums[nums[1]]
    nums[4] = 2;
    

    由于正在访问数组范围之外的位置,因此System.out.println(nums[nums[6]]);出现错误。同样的情况也会发生在System.out.println(nums[nums[2]]);上,因为nums[2]=6