Δήλωση διακοπής Java (με παραδείγματα)

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

Ενώ εργάζεστε με βρόχους, μερικές φορές είναι επιθυμητό να παραλείψετε ορισμένες δηλώσεις εντός του βρόχου ή να τερματίσετε τον βρόχο αμέσως χωρίς να ελέγξετε την έκφραση της δοκιμής.

Σε τέτοιες περιπτώσεις, breakκαι continueχρησιμοποιούνται δηλώσεις. Στο επόμενο σεμινάριο θα μάθετε για τη δήλωση συνέχισης Java.

Η breakδήλωση στην Java τερματίζει τον βρόχο αμέσως και ο έλεγχος του προγράμματος μετακινείται στην επόμενη δήλωση μετά τον βρόχο.

Χρησιμοποιείται σχεδόν πάντα με δηλώσεις λήψης αποφάσεων (Java αν… αλλιώς Statement).

Ακολουθεί η σύνταξη της δήλωσης διακοπής στην Java:

 break;

Πώς λειτουργεί η δήλωση διακοπής;

Εργασία του Java break Statement

Παράδειγμα 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 που είναι γνωστή ως το σήμα διακοπής.

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

Εργασία της δήλωσης διακοπής με ετικέτα στην 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.

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