Объясните, пожалуйста, как происходит вывод двумерного массива на Java?

int[][] nums = new int[][]
{
  { 1, 2, 3 },
  { 4, 5, 6 },
  { 7, 8, 9 }
};

for (int i = 0; i < nums.length; i++) {
  for (int j = 0; j < nums[i].length; j++) {
    System.out.printf("%d ", nums[i][j]);
  }
  System.out.println();
}

Пытаюсь понять, почему во вложенном цикле for (int j = 0; j < nums[i].length; j++) j < nums[i]. Ведь получается, если j < nums[i].length, то он же не будет выполняться? Или как вообще это происходит, не понимаю?


Ответы (1 шт):

Автор решения: Эникейщик

Цикл с условием j < nums[i].length выполняется до тех пор, пока j не станет равным nums[i].length (в вашем случае это всегда 3). Значение i к этому условию не имеет отношения, оно всего лишь определяет какая строка выводится.

num[i] это элемент массива nums, т.е. каждый отдельный вложенный массив.

→ Ссылка