Вкладена петля в Java (з прикладами)

У цьому підручнику ми дізнаємося про вкладені цикли в Java за допомогою прикладів.

Якщо цикл існує всередині тіла іншого циклу, це називається вкладеним циклом. Ось приклад вкладеного forциклу.

 // outer loop for (int i = 1; i <= 5; ++i) ( // codes // inner loop for(int j = 1; j <=2; ++j) ( // codes )… )

Тут ми використовуємо forцикл всередині іншого forциклу.

Ми можемо використовувати вкладений цикл для ітерації кожного дня тижня протягом 3 тижнів.

У цьому випадку ми можемо створити цикл для ітерації тричі (3 тижні). І всередині циклу ми можемо створити ще один цикл для повторення 7 разів (7 днів).

Приклад 1: Java, вкладена для циклу

 class Main ( public static void main(String() args) ( int weeks = 3; int days = 7; // outer loop prints weeks for (int i = 1; i <= weeks; ++i) ( System.out.println("Week: " + i); // inner loop prints days for (int j = 1; j <= days; ++j) ( System.out.println(" Day: " + j); ) ) ) )

Вихідні дані

Тиждень: 1 день: 1 день: 2 день: 3…. Тиждень: 2 день: 1 день: 2 день: 3….….

У наведеному вище прикладі зовнішній цикл повторюється 3 рази та друкує 3 тижні. І внутрішній цикл повторюється 7 разів і друкує 7 днів.

Ми також можемо створювати вкладені цикли за допомогою while і робити … поки подібним чином.

Примітка : Можна використовувати один тип циклу всередині тіла іншого циклу. Наприклад, ми можемо помістити forцикл всередину whileциклу.

Приклад 2: Java для циклу всередині циклу while

 class Main ( public static void main(String() args) ( int weeks = 3; int days = 7; int i = 1; // outer loop while (i <= weeks) ( System.out.println("Week: " + i); // inner loop for (int j = 1; j <= days; ++j) ( System.out.println(" Days: " + j); ) ++i; ) ) )

Вихід :

Тиждень: 1 день: 1 день: 2 день: 3…. Тиждень: 2 день: 1 день: 2 день: 3….….

Тут ви можете бачити, що вихідні дані і для Прикладу 1, і для Прикладу 2 однакові.

Приклад 3: Вкладені цикли Java для створення шаблону

Ми можемо використовувати вкладений цикл в Java для створення таких шаблонів, як повна піраміда, напівпіраміда, інвертована піраміда тощо.

Ось програма для створення напівпірамідного зразка за допомогою вкладених циклів.

 class Main ( public static void main(String() args) ( int rows = 5; // outer loop for (int i = 1; i <= rows; ++i) ( // inner loop to print the numbers for (int j = 1; j <= i; ++j) ( System.out.print(j + " "); ) System.out.println(""); ) ) )

Вихідні дані

 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5

Щоб дізнатись більше, відвідайте програму Java для друку піраміди та шаблонів.

розірвати та продовжити Внутрішні вкладені цикли

Коли ми використовуємо breakоператор усередині внутрішнього циклу, він завершує внутрішній цикл, але не зовнішній цикл. Наприклад,

 class Main ( public static void main(String() args) ( int weeks = 3; int days = 7; // outer loop for(int i = 1; i <= weeks; ++i) ( System.out.println("Week: " + i); // inner loop for(int j = 1; j <= days; ++j) ( // break inside the inner loop if(i == 2) ( break; ) System.out.println(" Days: " + j); ) ) ) )

Вихідні дані

Тиждень: 1 день: 1 день: 2…. Тиждень: 2 Тиждень: 3 День: 1 День: 2….….

У наведеному вище прикладі ми використовували оператор break всередині внутрішнього forциклу. Тут програма пропускає цикл, коли i дорівнює 2 .

Отже, дні тижня 2 не друкуються. Однак зовнішній цикл, який друкує тиждень, не впливає.

Подібним чином, коли ми використовуємо continueоператор усередині внутрішнього циклу, він пропускає поточну ітерацію лише внутрішнього циклу. Зовнішня петля не зазнає змін. Наприклад,

 class Main ( public static void main(String() args) ( int weeks = 3; int days = 7; // outer loop for(int i = 1; i <= weeks; ++i) ( System.out.println("Week: " + i); // inner loop for(int j = 1; j <= days; ++j) ( // continue inside the inner loop if(j % 2 != 0) ( continue; ) System.out.println(" Days: " + j); ) ) ) )

Вихідні дані

 Тиждень: 1 день: 2 дні: 4 дні: 6 тиждень: 2 дні: 2 дні: 4 дні: 6 тиждень: 3 дні: 2 дні: 4 дні: 6

У наведеному вище прикладі ми використовували оператор continue всередині внутрішнього циклу for. Зверніть увагу на код,

 if(j % 2 != 0) ( continue; )

Тут continueоператор виконується, коли значення j непарне. Отже, програма друкує лише ті парні дні.

Ми бачимо, що continueтвердження торкнулося лише внутрішній цикл. Зовнішній цикл працює без проблем.

Цікаві статті...