关于二维数组的嵌套for循环,为什么应该是(int i=0;i<cars.length;i++),而不是(int i=0;i<=cars.length;i++)?

公共类主要{

public static void mai,java,arrays,2d"/>
	














首页 > 解决方案 > 为什么(int i=0;我

关于二维数组的嵌套for循环,为什么应该是(int i=0;i<cars.length;i++),而不是(int i=0;i<=cars.length;i++)?

公共类主要{

public static void mai

问题描述

关于二维数组的嵌套for循环,为什么应该是(int i=0;i<cars.length;i++),而不是(int i=0;i<=cars.length;i++)?

公共类主要{

public static void main(String[] args) {
        
    // 2D array = an array of arrays
    
    String[][] cars =   {   
                            {"Camaro","Corvette","Silverado"},
                            {"Mustang","Ranger","F-150"},
                            {"Ferrari","Lambo","Tesla"}
                        };
    
    /*
    cars[0][0] = "Camaro";
    cars[0][1] = "Corvette";
    cars[0][2] = "Silverado";
    cars[1][0] = "Mustang";
    cars[1][1] = "Ranger";
    cars[1][2] = "F-150";
    cars[2][0] = "Ferrari";
    cars[2][1] = "Lambo";
    cars[2][2] = "Tesla";
    */
    
    for(int i=0; i<cars.length; i++) {
        System.out.println();
        for(int j=0; j<cars[i].length; j++) {
            System.out.print(cars[i][j]+" ");
        }
    }
}

}


在 Java 和大多数其他编程语言中,第一个元素位于位置 0。因此,如果 myArray 定义为 myArray[10],它将具有 10 的长度和索引位置 0 到 9。因此 myArray[10] = 我会给你一个数组越界错误。

标签: javaarrays2d

解决方案


在 Java 和大多数其他编程语言中,第一个元素位于位置 0。因此,如果 myArray 定义为 myArray[10],它将具有 10 的长度和索引位置 0 到 9。因此 myArray[10] = 我会给你一个数组越界错误。


推荐阅读