java:break_loop_statements

Differences

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

Link to this comparison view

java:break_loop_statements [2015/09/18 10:47]
gthanos created
java:break_loop_statements [2017/02/16 08:09]
Line 1: Line 1:
-====== Εντολές τερματισμού ή ελέγχου της ανακύκλωσης ====== 
- 
-==== Η εντολή break ==== 
- 
-Η εντoλή **break** τερματίζει την υφιστάμενη ανακύκλωση και θέτει την ροή του προγράμματος αμέσως μετά το τέλος της εντολής ανακύκλωσης. Η εντολή **break** έχει δύο μορφές την //labeled// και την //unlabeled// μορφή. Η unlabeled μορφή είναι η μορφή που γνωρίζετε από την γλώσσα **C**. Ένα της παράδειγμα της unlabeled μορφής δίνουμε παρακάτω. 
- 
-<code java BreakDemo.java> 
-class BreakDemo { 
-    public static void main(String[] args) { 
- 
-        int[] arrayOfInts =  
-            { 32, 87, 3, 589, 
-              12, 1076, 2000, 
-              8, 622, 127 }; 
-        int searchfor = 12; 
- 
-        int i; 
-        boolean foundIt = false; 
- 
-        for (i = 0; i < arrayOfInts.length; i++) { 
-            if (arrayOfInts[i] == searchfor) { 
-                foundIt = true; 
-                break; 
-            } 
-        } 
- 
-        if (foundIt) { 
-            System.out.println("Found " + searchfor + " at index " + i); 
-        } else { 
-            System.out.println(searchfor + " not in the array"); 
-        } 
-    } 
-} 
-</code> 
- 
-Η //labeled// μορφή της εντολής **break** έχει νόημα όταν έχουμε περισσότερες από μία εμφωλευμένες εντολές ανακύκλωσης **while**, **do-while**, **for** και θέλουμε να τερματίζουμε την εξωτερική ανακύκλωση. Ένα παράδειγμα χρήσης της εντολής //labeled// **break** μπορείτε να δείτε παρακάτω. 
- 
-<code java BreakWithLabelDemo.java> 
-class BreakWithLabelDemo { 
-    public static void main(String[] args) { 
- 
-        int[][] arrayOfInts = {  
-            { 32, 87, 3, 589 }, 
-            { 12, 1076, 2000, 8 }, 
-            { 622, 127, 77, 955 } 
-        }; 
-        int searchfor = 12; 
- 
-        int i; 
-        int j = 0; 
-        boolean foundIt = false; 
- 
-    search: 
-        for (i = 0; i < arrayOfInts.length; i++) { 
-            for (j = 0; j < arrayOfInts[i].length; 
-                 j++) { 
-                if (arrayOfInts[i][j] == searchfor) { 
-                    foundIt = true; 
-                    break search; 
-                } 
-            } 
-        } 
- 
-        if (foundIt) { 
-            System.out.println("Found " + searchfor + " at " + i + ", " + j); 
-        } else { 
-            System.out.println(searchfor + " not in the array"); 
-        } 
-    } 
-} 
-</code> 
- 
-Η ροή του προγράμματος συνεχίζεται μετά τις δύο εντολές ανακύκλωσης **for**.  
- 
-==== Η εντολή continue ==== 
- 
-Σε αναλογία με την εντολή ''for'' και η εντολή ''continue'' διαθέτει //labeled// και //unlabeled// μορφή. Δείτε τα παρακάτω παραδείγματα 
- 
-<code java ContinueDemo.java> 
-class ContinueDemo { 
-    public static void main(String[] args) { 
- 
-        String searchMe = "peter piper picked a " + "peck of pickled peppers"; 
-        int max = searchMe.length(); 
-        int numPs = 0; 
- 
-        for (int i = 0; i < max; i++) { 
-            // interested only in p's 
-            if (searchMe.charAt(i) != 'p') 
-                continue; 
- 
-            // process p's 
-            numPs++; 
-        } 
-        System.out.println("Found " + numPs + " p's in the string."); 
-    } 
-} 
-</code> 
- 
-<code java ContinueWithLabelDemo.java> 
-class ContinueWithLabelDemo { 
-    public static void main(String[] args) { 
- 
-        String searchMe = "Look for a substring in me"; 
-        String substring = "sub"; 
-        boolean foundIt = false; 
- 
-        int max = searchMe.length() -  
-                  substring.length(); 
- 
-    test: 
-        for (int i = 0; i <= max; i++) { 
-            int n = substring.length(); 
-            int j = i; 
-            int k = 0; 
-            while (n-- != 0) { 
-                if (searchMe.charAt(j++) != substring.charAt(k++)) { 
-                    continue test; 
-                } 
-            } 
-            foundIt = true; 
-                break test; 
-        } 
-        System.out.println(foundIt ? "Found it" : "Didn't find it"); 
-    } 
-} 
-</code> 
- 
- 
  
java/break_loop_statements.txt · Last modified: 2017/02/16 08:09 (external edit)