java:break_loop_statements

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
java:break_loop_statements [2015/09/18 10:57]
gthanos [Η εντολή break]
java:break_loop_statements [2017/02/10 18:27] (current)
doufexi Αλλαγή ενός for σε break
Line 1: Line 1:
-====== Εντολές τερματισμού ​ή ελέγχου ​της ​ανακύκλωσης ======+====== Εντολές τερματισμού ​και ​ελέγχου ​επανάληψης ======
  
-==== Η εντολή break ====+===== Η εντολή break =====
  
-Η εντoλή **break** τερματίζει την υφιστάμενη ανακύκλωση και θέτει την ροή του προγράμματος αμέσως μετά το τέλος της εντολής ανακύκλωσης. Η εντολή **break** έχει δύο μορφές την //labeled// και την //​unlabeled//​ μορφή. Η unlabeled μορφή είναι η μορφή που γνωρίζετε από την γλώσσα **C**. Ένα της παράδειγμα ​της unlabeled μορφής ​δίνουμε παρακάτω.+Η εντoλή **break** τερματίζει την υφιστάμενη ​επανάληψη και θέτει την ροή του προγράμματος αμέσως μετά το τέλος της εντολής ​επανάληψης. Η εντολή **break** έχει δύο μορφέςτην //labeled// και την //​unlabeled//​ μορφή. Η unlabeled μορφή είναι η μορφή που γνωρίζετε από την γλώσσα **C**. Ένα της παράδειγμα δίνουμε παρακάτω.
  
 <code java BreakDemo.java>​ <code java BreakDemo.java>​
Line 34: Line 34:
 </​code>​ </​code>​
  
-Η //labeled// μορφή της εντολής **break** έχει νόημα όταν έχουμε περισσότερες από μία εμφωλευμένες εντολές ανακύκλωσης **while**, **do-while**,​ **for** και θέλουμε να τερματίζουμε την εξωτερική ανακύκλωση. Ένα παράδειγμα χρήσης της εντολής //labeled// **break** μπορείτε να δείτε παρακάτω.+Η //labeled// μορφή της εντολής **break** έχει νόημα όταν έχουμε περισσότερες από μία εμφωλευμένες εντολές ​επανάληψης **while**, **do-while**,​ **for** και θέλουμε να τερματίζουμε την εξωτερική ​επανάληψη. Ένα παράδειγμα χρήσης της εντολής //labeled// **break** μπορείτε να δείτε παρακάτω.
  
 <code java BreakWithLabelDemo.java>​ <code java BreakWithLabelDemo.java>​
Line 70: Line 70:
 </​code>​ </​code>​
  
-Η ροή του προγράμματος συνεχίζεται μετά τις δύο εντολές ανακύκλωσης **for**. ​+Εκτελέστε τα προγράμματα για να διαπιστώσετε την λειτουργία της κανονικής και της //labeled// μορφής της εντολής **break**. ​Η ροή του προγράμματος συνεχίζεται μετά τις δύο εντολές ​επανάληψης **for**.
  
-==== Η εντολή continue ====+===== Η εντολή continue ​=====
  
-Σε αναλογία με την εντολή ''​for''​ και η εντολή ''​continue''​ διαθέτει //labeled// και //​unlabeled//​ μορφή. Δείτε τα παρακάτω παραδείγματα+Σε αναλογία με την εντολή ''​break''​ και η εντολή ''​continue''​ διαθέτει //labeled// και //​unlabeled//​ μορφή. Δείτε τα παρακάτω παραδείγματα:
  
 <code java ContinueDemo.java>​ <code java ContinueDemo.java>​
 class ContinueDemo { class ContinueDemo {
-    ​public static void main(String[] args) {+  ​public static void main(String[] args) {
  
-        ​String searchMe = "peter piper picked a " + "peck of pickled peppers";​ +    ​String searchMe = "peter piper picked a " + "peck of pickled peppers";​ 
-        int max = searchMe.length();​ +    int max = searchMe.length();​ 
-        int numPs = 0;+    int numPs = 0;
  
-        ​for (int i = 0; i < max; i++) { +    ​for (int i = 0; i < max; i++) { 
-            // interested only in p's +      // interested only in p's 
-            if (searchMe.charAt(i) != '​p'​) +      if (searchMe.charAt(i) != '​p'​) 
-                continue;+        continue;
  
-            ​// process p's +      ​// process p's 
-            numPs+++      numPs++;
-        } +
-        System.out.println("​Found " + numPs + " p's in the string."​);+
     }     }
 +    System.out.println("​Found " + numPs + " p's in the string."​);​
 +  }
 } }
 </​code>​ </​code>​
Line 99: Line 99:
 <code java ContinueWithLabelDemo.java>​ <code java ContinueWithLabelDemo.java>​
 class ContinueWithLabelDemo { class ContinueWithLabelDemo {
-    ​public static void main(String[] args) {+  ​public static void main(String[] args) {
  
-        ​String searchMe = "Look for a substring in me"; +    ​String searchMe = "Look for a substring in me"; 
-        String substring = "​sub";​ +    String substring = "​sub";​ 
-        boolean foundIt = false;+    boolean foundIt = false;
  
-        ​int max = searchMe.length() -  +    ​int max = searchMe.length() -  
-                  substring.length();​+          substring.length();​
  
-    ​test: +  ​test: 
-        for (int i = 0; i <= max; i++) { +    for (int i = 0; i <= max; i++) { 
-            int n = substring.length();​ +      int n = substring.length();​ 
-            int j = i; +      int j = i; 
-            int k = 0; +      int k = 0; 
-            while (n-- != 0) { +      while (n-- != 0) { 
-                if (searchMe.charAt(j++) != substring.charAt(k++)) { +        if (searchMe.charAt(j++) != substring.charAt(k++)) { 
-                    continue ​test; +          continue test;
-                } +
-            } +
-            foundIt = true; +
-                break test;+
         }         }
-        System.out.println(foundIt ​? "Found it" : "​Didn'​t find it");+      } 
 +      ​foundIt ​= true; 
 +        break test;
     }     }
 +    System.out.println(foundIt ? "Found it" : "​Didn'​t find it");
 +  }
 } }
 </​code>​ </​code>​
  
 +Εκτελέστε τα προγράμματα για να διαπιστώσετε την λειτουργία της κανονικής και της //labeled// μορφής της εντολής **continue**.
  
 +| Προηγούμενο:​ [[:​java:​loop_statements | Εντολές επανάληψης ]] | [[:toc | Περιεχόμενα ]] | Επόμενο:​ [[:​oop:​introduction | Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό ]] |
java/break_loop_statements.1442573822.txt.gz · Last modified: 2016/02/26 11:15 (external edit)