Зміст курсу
Основи Java
Основи Java
Ітерація у двовимірному масиві
Як ітеруватися всередині двовимірного масиву з допомогою циклу for?
Ітерація по двовимірному масиву може бути складною для розуміння, тому не хвилюйся, якщо не зрозумієш все одразу. У цій главі я продемонструю, як це зробити, і поясню, як це все працює.
Ми використовуємо вкладений цикл для ітерації двовимірного масиву, тобто один цикл всередині іншого. Зовнішній цикл виконує ітерації над рядками, а внутрішній цикл - над стовпчиками. Давай розглянемо синтаксис ітерації у двовимірному масиві на прикладі масиву, який ми створили у попередньому розділі:
Main
package com.example; public class Main { public static void main(String[] args) { int[][] twoDimensionalArray = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16} }; for (int i = 0; i < twoDimensionalArray.length; i++) { for (int j = 0; j < twoDimensionalArray[0].length; j++) { System.out.print(twoDimensionalArray[i][j] + " "); } System.out.println(); } } }
Давай пройдемось по значенню кожного елемента в наведеному вище фрагменті коду:
int[][] twoDimensionalArray =
- Цей рядок ініціалізує двовимірний масив;for (int i = 0; i < twoDimensionalArray.length; i++)
- Перший циклfor
перебирає рядки матриці. **Коли ми знаходимося на першому рядку, програма входить у вкладений цикл, який не впливає на зовнішній цикл. Зміннаi
представляє номер поточного рядка;for (int j = 0; j < twoDimensionalArray[0].length; j++)
- другий цикл for перебирає стовпчики матриці. Поки ми знаходимось на 0-му рядку, ми ітеруємо по стовпчиках цього рядка. Зміннаj
представляє поточний номер стовпчика;System.out.print(twoDimensionalArray[i][j] + " ");
- У цьому рядку ми використовуємоSystem.out.print
для виведення наших значень в один рядок. Давай подивимося, як він працює: поки ми знаходимося на 0-му рядку, ми виконуємо ітерацію по стовпчиках цього рядка. Наприклад,array[0][1]
, потімarray[0][2]
і так далі. Ми продовжуємо перебирати стовпці до тих пір, покиj
не стане меншим заarray[0].length
. Як тільки ми досягнемоarray[0].length
, ми повертаємось до зовнішнього масиву і переходимо до першого рядка. Наприклад,array[0][3] -> array[1][0]
. Ми досягли наших меж і перейшли до рядка 1.
Swipe to show code editor
Ваше завдання - знаходити та відображати на екрані діагональ (від верхнього лівого кута до нижнього правого кута) наданої матриці:
Примітка
Діагональ представляє собою лінію в матриці, де номери рядка та стовпця ідентичні.
Дякуємо за ваш відгук!
Ітерація у двовимірному масиві
Як ітеруватися всередині двовимірного масиву з допомогою циклу for?
Ітерація по двовимірному масиву може бути складною для розуміння, тому не хвилюйся, якщо не зрозумієш все одразу. У цій главі я продемонструю, як це зробити, і поясню, як це все працює.
Ми використовуємо вкладений цикл для ітерації двовимірного масиву, тобто один цикл всередині іншого. Зовнішній цикл виконує ітерації над рядками, а внутрішній цикл - над стовпчиками. Давай розглянемо синтаксис ітерації у двовимірному масиві на прикладі масиву, який ми створили у попередньому розділі:
Main
package com.example; public class Main { public static void main(String[] args) { int[][] twoDimensionalArray = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16} }; for (int i = 0; i < twoDimensionalArray.length; i++) { for (int j = 0; j < twoDimensionalArray[0].length; j++) { System.out.print(twoDimensionalArray[i][j] + " "); } System.out.println(); } } }
Давай пройдемось по значенню кожного елемента в наведеному вище фрагменті коду:
int[][] twoDimensionalArray =
- Цей рядок ініціалізує двовимірний масив;for (int i = 0; i < twoDimensionalArray.length; i++)
- Перший циклfor
перебирає рядки матриці. **Коли ми знаходимося на першому рядку, програма входить у вкладений цикл, який не впливає на зовнішній цикл. Зміннаi
представляє номер поточного рядка;for (int j = 0; j < twoDimensionalArray[0].length; j++)
- другий цикл for перебирає стовпчики матриці. Поки ми знаходимось на 0-му рядку, ми ітеруємо по стовпчиках цього рядка. Зміннаj
представляє поточний номер стовпчика;System.out.print(twoDimensionalArray[i][j] + " ");
- У цьому рядку ми використовуємоSystem.out.print
для виведення наших значень в один рядок. Давай подивимося, як він працює: поки ми знаходимося на 0-му рядку, ми виконуємо ітерацію по стовпчиках цього рядка. Наприклад,array[0][1]
, потімarray[0][2]
і так далі. Ми продовжуємо перебирати стовпці до тих пір, покиj
не стане меншим заarray[0].length
. Як тільки ми досягнемоarray[0].length
, ми повертаємось до зовнішнього масиву і переходимо до першого рядка. Наприклад,array[0][3] -> array[1][0]
. Ми досягли наших меж і перейшли до рядка 1.
Swipe to show code editor
Ваше завдання - знаходити та відображати на екрані діагональ (від верхнього лівого кута до нижнього правого кута) наданої матриці:
Примітка
Діагональ представляє собою лінію в матриці, де номери рядка та стовпця ідентичні.
Дякуємо за ваш відгук!