java:break_loop_statements
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
java:break_loop_statements [2015/09/18 10:47] – created gthanos | java:break_loop_statements [2017/02/16 08:09] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Εντολές τερματισμού | + | ====== Εντολές τερματισμού |
- | ==== Η εντολή break ==== | + | ===== Η εντολή break ===== |
- | Η εντoλή **break** τερματίζει την υφιστάμενη ανακύκλωση και θέτει την ροή του προγράμματος αμέσως μετά το τέλος της εντολής ανακύκλωσης. Η εντολή **break** έχει δύο μορφές την //labeled// και την // | + | Η εντoλή **break** τερματίζει την υφιστάμενη |
<code java BreakDemo.java> | <code java BreakDemo.java> | ||
class BreakDemo { | class BreakDemo { | ||
- | | + | |
- | | + | |
- | { 32, 87, 3, 589, | + | { 32, 87, 3, 589, |
- | 12, 1076, 2000, | + | 12, 1076, 2000, |
- | 8, 622, 127 }; | + | 8, 622, 127 }; |
- | int searchfor = 12; | + | int searchfor = 12; |
- | | + | |
- | boolean foundIt = false; | + | boolean foundIt = false; |
- | | + | |
- | if (arrayOfInts[i] == searchfor) { | + | if (arrayOfInts[i] == searchfor) { |
- | foundIt = true; | + | foundIt = true; |
- | break; | + | break; |
- | } | + | } |
- | } | + | } |
- | | + | |
- | System.out.println(" | + | System.out.println(" |
- | } else { | + | } else { |
- | System.out.println(searchfor + " not in the array" | + | System.out.println(searchfor + " not in the array" |
- | } | + | |
} | } | ||
+ | } | ||
} | } | ||
</ | </ | ||
- | Η //labeled// μορφή της εντολής **break** έχει νόημα όταν έχουμε περισσότερες από μία εμφωλευμένες εντολές ανακύκλωσης **while**, **do-while**, | + | Η //labeled// μορφή της εντολής **break** έχει νόημα όταν έχουμε περισσότερες από μία εμφωλευμένες εντολές |
<code java BreakWithLabelDemo.java> | <code java BreakWithLabelDemo.java> | ||
class BreakWithLabelDemo { | class BreakWithLabelDemo { | ||
- | | + | |
- | | + | |
- | { 32, 87, 3, 589 }, | + | { 32, 87, 3, 589 }, |
- | { 12, 1076, 2000, 8 }, | + | { 12, 1076, 2000, 8 }, |
- | { 622, 127, 77, 955 } | + | { 622, 127, 77, 955 } |
- | }; | + | }; |
- | int searchfor = 12; | + | int searchfor = 12; |
- | | + | |
- | int j = 0; | + | int j = 0; |
- | boolean foundIt = false; | + | boolean foundIt = false; |
- | | + | |
- | for (i = 0; i < arrayOfInts.length; | + | for (i = 0; i < arrayOfInts.length; |
- | for (j = 0; j < arrayOfInts[i].length; | + | for (j = 0; j < arrayOfInts[i].length; |
- | j++) { | + | if (arrayOfInts[i][j] == searchfor) { |
- | if (arrayOfInts[i][j] == searchfor) { | + | foundIt = true; |
- | foundIt = true; | + | break search; |
- | break search; | + | |
- | } | + | |
- | } | + | |
} | } | ||
+ | } | ||
+ | } | ||
- | | + | |
- | System.out.println(" | + | System.out.println(" |
- | } else { | + | } else { |
- | System.out.println(searchfor + " not in the array" | + | System.out.println(searchfor + " not in the array" |
- | } | + | |
} | } | ||
+ | } | ||
} | } | ||
</ | </ | ||
- | Η ροή του προγράμματος συνεχίζεται μετά τις δύο εντολές ανακύκλωσης **for**. | + | Εκτελέστε τα προγράμματα για να διαπιστώσετε την λειτουργία της κανονικής και της //labeled// μορφής της εντολής **break**. |
- | ==== Η εντολή continue ==== | + | ===== Η εντολή continue |
- | Σε αναλογία με την εντολή '' | + | Σε αναλογία με την εντολή '' |
<code java ContinueDemo.java> | <code java ContinueDemo.java> | ||
class ContinueDemo { | class ContinueDemo { | ||
- | | + | |
- | | + | |
- | int max = searchMe.length(); | + | int max = searchMe.length(); |
- | int numPs = 0; | + | int numPs = 0; |
- | | + | |
- | // interested only in p's | + | // interested only in p's |
- | if (searchMe.charAt(i) != ' | + | if (searchMe.charAt(i) != ' |
- | continue; | + | continue; |
- | | + | |
- | numPs++; | + | numPs++; |
- | } | + | |
- | System.out.println(" | + | |
} | } | ||
+ | System.out.println(" | ||
+ | } | ||
} | } | ||
</ | </ | ||
Line 100: | Line 99: | ||
<code java ContinueWithLabelDemo.java> | <code java ContinueWithLabelDemo.java> | ||
class ContinueWithLabelDemo { | class ContinueWithLabelDemo { | ||
- | | + | |
- | | + | |
- | String substring = " | + | String substring = " |
- | boolean foundIt = false; | + | boolean foundIt = false; |
- | | + | |
- | substring.length(); | + | substring.length(); |
- | | + | |
- | 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 | + | continue test; |
- | } | + | |
- | } | + | |
- | foundIt = true; | + | |
- | break test; | + | |
} | } | ||
- | System.out.println(foundIt | + | } |
+ | | ||
+ | break test; | ||
} | } | ||
+ | System.out.println(foundIt ? "Found it" : " | ||
+ | } | ||
} | } | ||
</ | </ | ||
+ | Εκτελέστε τα προγράμματα για να διαπιστώσετε την λειτουργία της κανονικής και της //labeled// μορφής της εντολής **continue**. | ||
+ | | Προηγούμενο: |
java/break_loop_statements.1442573246.txt.gz · Last modified: 2015/09/18 09:47 (external edit)