Ένθετος βρόχος σε 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 Nested for Loop

 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 ημέρες.

Μπορούμε επίσης να δημιουργήσουμε ένθετους βρόχους με και να κάνουμε … ενώ με παρόμοιο τρόπο

Σημείωση : Είναι δυνατή η χρήση ενός τύπου βρόχου μέσα στο σώμα ενός άλλου βρόχου. Για παράδειγμα, μπορούμε να βάλουμε έναν forβρόχο μέσα στον whileβρόχο.

Παράδειγμα 2: Java για βρόχο μέσα στο while loop

 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 για να εκτυπώσετε πυραμίδα και μοτίβα.

σπάστε και συνεχίστε Inside Nested Loops

Όταν χρησιμοποιούμε μια 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….….

Στο παραπάνω παράδειγμα, χρησιμοποιήσαμε τη δήλωση διακοπής μέσα στον εσωτερικό forβρόχο. Εδώ, το πρόγραμμα παραλείπει το βρόχο όταν είμαι 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

Στο παραπάνω παράδειγμα, χρησιμοποιήσαμε τη δήλωση συνέχισης μέσα στο εσωτερικό για βρόχο. Παρατηρήστε τον κωδικό,

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

Εδώ, η continueδήλωση εκτελείται όταν η τιμή του j είναι μονή. Ως εκ τούτου, το πρόγραμμα εκτυπώνει μόνο εκείνες τις ημέρες που είναι ομοιόμορφες.

Μπορούμε να δούμε ότι η continueδήλωση έχει επηρεάσει μόνο τον εσωτερικό βρόχο. Ο εξωτερικός βρόχος λειτουργεί χωρίς κανένα πρόβλημα.

ενδιαφέροντα άρθρα...