为什么(int i=0;i<cars.length;i++),而不是(int i=0;i<=cars.length;i++)?

why ( int i=0; i<cars.length; i++), not ( int i=0; i<=cars.length; i++)?

关于二维数组的嵌套for循环,为什么要这样(int i=0; i

public class 主要{

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] = 我会给你一个数组越界错误。