Σε αυτό το σεμινάριο, θα μάθετε για τη δήλωση διακοπής, με ετικέτα διακοπής στην Java με τη βοήθεια παραδειγμάτων.
Ενώ εργάζεστε με βρόχους, μερικές φορές είναι επιθυμητό να παραλείψετε ορισμένες δηλώσεις εντός του βρόχου ή να τερματίσετε τον βρόχο αμέσως χωρίς να ελέγξετε την έκφραση της δοκιμής.
Σε τέτοιες περιπτώσεις, break
και continue
χρησιμοποιούνται δηλώσεις. Στο επόμενο σεμινάριο θα μάθετε για τη δήλωση συνέχισης Java.
Η break
δήλωση στην Java τερματίζει τον βρόχο αμέσως και ο έλεγχος του προγράμματος μετακινείται στην επόμενη δήλωση μετά τον βρόχο.
Χρησιμοποιείται σχεδόν πάντα με δηλώσεις λήψης αποφάσεων (Java αν… αλλιώς Statement).
Ακολουθεί η σύνταξη της δήλωσης διακοπής στην Java:
break;
Πώς λειτουργεί η δήλωση διακοπής;

Παράδειγμα 1: Δήλωση διακοπής Java
class Test ( public static void main(String() args) ( // for loop for (int i = 1; i <= 10; ++i) ( // if the value of i is 5 the loop terminates if (i == 5) ( break; ) System.out.println(i); ) ) )
Έξοδος :
1 2 3 4
Στο παραπάνω πρόγραμμα, χρησιμοποιούμε το for
βρόχο για να εκτυπώσουμε την τιμή του i σε κάθε επανάληψη. Για να μάθετε πώς for
λειτουργεί ο βρόχος, επισκεφθείτε την Java για βρόχο. Εδώ, παρατηρήστε τη δήλωση,
if (i == 5) ( break; )
Αυτό σημαίνει ότι όταν η τιμή του i είναι ίση με 5, ο βρόχος τερματίζεται. Ως εκ τούτου, έχουμε την έξοδο με τιμές μικρότερες από 5 μόνο.
Παράδειγμα 2: Δήλωση διακοπής Java
Το παρακάτω πρόγραμμα υπολογίζει το άθροισμα των αριθμών που εισάγει ο χρήστης έως ότου ο χρήστης εισαγάγει έναν αρνητικό αριθμό.
Για να λάβουμε πληροφορίες από τον χρήστη, χρησιμοποιήσαμε το Scanner
αντικείμενο. Για να μάθετε περισσότερα Scanner
, επισκεφθείτε το Java Scanner.
import java.util.Scanner; class UserInputSum ( public static void main(String() args) ( Double number, sum = 0.0; // create an object of Scanner Scanner input = new Scanner(System.in); while (true) ( System.out.print("Enter a number: "); // takes double input from user number = input.nextDouble(); // if number is negative the loop terminates if (number < 0.0) ( break; ) sum += number; ) System.out.println("Sum = " + sum); ) )
Έξοδος :
Εισαγάγετε έναν αριθμό: 3.2 Εισαγάγετε έναν αριθμό: 5 Εισαγάγετε έναν αριθμό: 2.3 Εισαγάγετε έναν αριθμό: 0 Εισαγάγετε έναν αριθμό: -4,5 Άθροισμα = 10,5
Στο παραπάνω πρόγραμμα, η δοκιμαστική έκφραση του while
βρόχου είναι πάντα true
. Εδώ, παρατηρήστε τη γραμμή,
if (number < 0.0) ( break; )
Αυτό σημαίνει ότι όταν ο χρήστης εισάγει αρνητικούς αριθμούς, ο βρόχος while τερματίζεται.
Java break και Nested Loop
Στην περίπτωση ένθετων βρόχων, η break
δήλωση τερματίζει τον εσωτερικότατο βρόχο.

Εδώ, η δήλωση διακοπής τερματίζει τον εσωτερικότατο while
βρόχο και ο έλεγχος μεταβαίνει στον εξωτερικό βρόχο.
Δήλωση διακοπής με ετικέτα
Μέχρι τώρα, χρησιμοποιήσαμε τη δήλωση διακοπής χωρίς ετικέτα. Τερματίζει την πιο εσωτερική δήλωση βρόχου και διακόπτη. Ωστόσο, υπάρχει μια άλλη μορφή δήλωσης διακοπής στην Java που είναι γνωστή ως το σήμα διακοπής.
Μπορούμε να χρησιμοποιήσουμε τη δήλωση διακοπής με την ετικέτα για να τερματίσουμε και τον εξώτατο βρόχο.

Όπως μπορείτε να δείτε στην παραπάνω εικόνα, χρησιμοποιήσαμε το αναγνωριστικό ετικέτας για να καθορίσουμε τον εξωτερικό βρόχο. Τώρα, παρατηρήστε πώς χρησιμοποιείται η break
δήλωση ( break label;
).
Εδώ, η break
δήλωση τερματίζει την ετικέτα (δηλαδή εξωτερικό βρόχο). Στη συνέχεια, ο έλεγχος του προγράμματος μεταβαίνει στη δήλωση μετά την ετικέτα.
Εδώ είναι ένα άλλο παράδειγμα:
while (testExpression) ( // codes second: while (testExpression) ( // codes while(testExpression) ( // codes break second; ) ) // control jumps here )
Στο παραπάνω παράδειγμα, όταν break second;
εκτελείται η δήλωση , while
τερματίζεται ο βρόχος με την ένδειξη δεύτερη. Και, ο έλεγχος του προγράμματος μετακινείται στη δήλωση μετά τον δεύτερο while
βρόχο.
Παράδειγμα 3: Δήλωση διακοπής με ετικέτα
class LabeledBreak ( public static void main(String() args) ( // the for loop is labeled as first first: for( int i = 1; i < 5; i++) ( // the for loop is labeled as second second: for(int j = 1; j < 3; j ++ ) ( System.out.println("i = " + i + "; j = " +j); // the break statement breaks the first for loop if ( i == 2) break first; ) ) ) )
Έξοδος :
i = 1; j = 1 i = 1; j = 2 i = 2; j = 1
Στο παραπάνω παράδειγμα, η labeled break
δήλωση χρησιμοποιείται για τον τερματισμό του βρόχου που επισημαίνεται ως πρώτο. Αυτό είναι,
first: for(int i = 1; i < 5; i++) (… )
Εδώ, αν αλλάξουμε τη δήλωση break first;
στο break second;
πρόγραμμα θα συμπεριφερθεί διαφορετικά. Σε αυτήν την περίπτωση, ο for
βρόχος που φέρει την ένδειξη δεύτερη θα τερματιστεί. Για παράδειγμα,
class LabeledBreak ( public static void main(String() args) ( // the for loop is labeled as first first: for( int i = 1; i < 5; i++) ( // the for loop is labeled as second second: for(int j = 1; j < 3; j ++ ) ( System.out.println("i = " + i + "; j = " +j); // the break statement terminates the loop labeled as second if ( i == 2) break second; ) ) ) )
Έξοδος :
i = 1; j = 1 i = 1; j = 2 i = 2; j = 1 i = 3; j = 1 i = 3; j = 2 i = 4; j = 1 i = 4; j = 2
Σημείωση : Η break
δήλωση χρησιμοποιείται επίσης για τον τερματισμό υποθέσεων εντός της switch
δήλωσης. Για να μάθετε περισσότερα, επισκεφθείτε τη δήλωση διακόπτη Java.