# Πώς να χρησιμοποιήσετε βρόχους for-each στη Java

Με τον βρόχο for-each της Java μπορείτε να διατρέχετε **πίνακες και συλλογές** πιο γρήγορα και με μεγαλύτερη ασφάλεια, να αποφεύγετε σφάλματα και να βελτιώνετε την αναγνωσιμότητα του κώδικα. Σε αυτό το σεμινάριο, εξηγούμε λεπτομερέστερα τη δομή και τα πλεονεκτήματα της μεθόδου for-each και σας δείχνουμε πώς να χρησιμοποιείτε τον βρόχο στον κώδικά σας.

## Σε τι χρησιμοποιείται ο βρόχος for-each της Java;

Ο βρόχος for-each χρησιμοποιείται σε πολλά σενάρια όπου οι προγραμματιστές Java πρέπει να εργαστούν με πίνακες. Για παράδειγμα, μια συνήθης χρήση είναι η έξοδος ή η αναζήτηση συγκεκριμένων στοιχείων ενός πίνακα. Ο βρόχος for-each μπορεί επίσης να χρησιμοποιηθεί για την επανάληψη στοιχείων σε μια λίστα που υλοποιείται ως ArrayList. Σε κάθε επανάληψη, μπορείτε να εκτελέσετε **αυτόματες χειρισμούς** με κοινούς τελεστές Java χωρίς να χρειάζεται να γράψετε ξεχωριστή δήλωση για κάθε στοιχείο.

Σε αντίθεση με τον βρόχο for στη Java, όταν χρησιμοποιείτε τον βρόχο for-each Java, **δεν χρειάζεται να λάβετε υπόψη τον δείκτη ή το μέγεθος του πίνακα**. Το γεγονός ότι δεν χρειάζεται να λάβετε υπόψη αυτά τα στοιχεία σημαίνει ότι αποφεύγετε τον κίνδυνο ένας δείκτης να βρίσκεται εκτός του έγκυρου εύρους. Ο βρόχος for-each χρησιμοποιεί εσωτερικά έναν επαναληπτικό δείκτη για να καλέσει κάθε στοιχείο του πίνακα ή της λίστας ένα προς ένα. Ο επαναληπτικός μηχανισμός μετρά αυτόματα τον πίνακα ή τη λίστα και τερματίζει τον βρόχο όταν έχουν διανυθεί όλα τα στοιχεία.

Εάν, ωστόσο, χρειαστεί να αποκτήσετε πρόσβαση στον δείκτη για να επεξεργαστείτε το επόμενο ή το προηγούμενο στοιχείο, ίσως είναι πιο λογικό να χρησιμοποιήσετε τον **βρόχο for** ή τον **βρόχο while**.

## Ποια είναι η σύνταξη του βρόχου for-each της Java;

Η βασική σύνταξη ενός βρόχου for-each στη Java έχει την εξής μορφή:

```Java
for (type item : array | collection) {
// code block
}
```

- `array/collection`: Όνομα του πίνακα ή της συλλογής
- `item`: Κάθε στοιχείο του πίνακα ή της συλλογής αντιστοιχίζεται σε αυτήν τη μεταβλητή
- `type`: Τύπος δεδομένων του πίνακα ή της συλλογής

Μέσα στον βρόχο, το μπλοκ κώδικα εκτελείται για κάθε επανάληψη.

## Παραδείγματα χρήσης του βρόχου for-each της Java

Παρακάτω θα δείξουμε πώς να χρησιμοποιήσετε τη μέθοδο for-each χρησιμοποιώντας **την έξοδο οθόνης και αριθμητικές πράξεις**.

### Εξέλιξη στοιχείων στην κονσόλα

Χρησιμοποιώντας τον βρόχο for-each, μπορείτε να εμφανίσετε κάθε στοιχείο ενός πίνακα ή μιας συλλογής **στην οθόνη**.

```Java
class Main {
    public static void main(String[] args) {
        // array
        String[] names = {"Sophie", "Mia", "Harrison", "Elliot", "Melissa"};
        // for each loop
        for (String name: names) {
            System.out.println(name);
        }
    }
}
In the console, we get the output:
```Java
Sophie
Mia
Harrison
Elliot
Melissa
```

</div>Είναι επίσης δυνατό να εξάγετε τα στοιχεία μιας λίστας αναλογικά. Ο πηγαίος κώδικας για τον βρόχο παραμένει αμετάβλητος.

<div class="prism-container position-relative my-4" data-ctype="commonmark_content">```Java
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
// list
ArrayList names = new ArrayList();
names.add( "Sophie" );
names.add( "Mia" );
names.add( "Harrison" );
names.add( "Elliot" );
names.add( "Melissa" );
// for each loop
for(String name: names){
System.out.println(name);
}
}
}
```

</div>Δημιουργείται μια συμβολοσειρά για κάθε όνομα από τη λίστα:

<div class="prism-container position-relative my-4" data-ctype="commonmark_content">```Java
Sophie
Mia
Harrison
Elliot
Melissa
```

</div>### Υπολογισμός του αθροίσματος των στοιχείων σε έναν πίνακα ή μια συλλογή

Η μέθοδος for-each της Java διευκολύνει την εκτέλεση αριθμητικών πράξεων, όπως η πρόσθεση των στοιχείων σε έναν πίνακα ή μια λίστα. Οι τελεστές συνδέονται με τη μεταβλητή που χρησιμεύει ως **θέση κράτησης για κάθε στοιχείο** εντός του μπλοκ κώδικα του βρόχου.

<div class="prism-container position-relative my-4" data-ctype="commonmark_content">```Java
class Main {
public static void main(String[] args) {
// array
int[] numbers = {10, 34, 7, 19, -28};
int sum = 0;
// addition
for (int number: numbers) {
sum += number;
}
System.out.println("Result = " + sum);
}
}
```

</div>Οι αριθμοί του πίνακα προστίθενται διαδοχικά στη μεταβλητή `sum`, η οποία είχε προηγουμένως δηλωθεί εκτός του βρόχου. Το αποτέλεσμα είναι:

<div class="prism-container position-relative my-4" data-ctype="commonmark_content">```Java
Result = 42
```


This is a markdown version of: [https://www.ionos.com/el-gr/digitalguide/istoselides/anaptyxi-istoselidon/java-for-each-brochos/](https://www.ionos.com/el-gr/digitalguide/istoselides/anaptyxi-istoselidon/java-for-each-brochos/) for AI/LLM consumption.