1 / 15

Programming patterns involving iteration

Programming patterns involving iteration. Overview Loops We’ll also see how loops are often combined with arrays (officially your next topic), e.g., --. Programming patterns involving iteration. We’ll review loops – some of the important variations, and

marlon
Télécharger la présentation

Programming patterns involving iteration

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programming patterns involving iteration • Overview Loops • We’ll also see how loops are often combined with arrays (officially your next topic), e.g., -- Programming patterns involving iteration

  2. Programming patterns involving iteration • We’ll review loops – • some of the important variations, and • ways you can use them toward certain ends. • We’ll also see how loops are often combined with arrays (officially your next topic), e.g., -- • Processing every member of an array • Searching for things in an array • Loops within loops for multi-dimensional tables Programming patterns involving iteration

  3. Loops while (condition) { statement; … statement; } • A loop is: • a block of code that executes repeatedly while some condition holds true. • Java provides three forms for explicit loops: • while • for • do..while • The conditions in loops are written as in if statements • The break statement breaks out of the loop that it is within • Some loop examples follow for (start; condition; step) { statement; … statement; } do { statement; … statement; } while (condition); Programming patterns involving iteration

  4. for loops versus while loops • for (int i = 0; i < 7; i++) { System.out.println (i + " " + i*i);} is equivalent to • int i = 0;while (i < 7) { System.out.println (i + " " + i*i);i++;} • Typically we use: • for when we know in advance how many times the loop will execute • while when something that happens in the loop determines when the loop exits • do..while when we want a while loop that always does at least one iteration Programming patterns involving iteration

  5. Loop patterns • The next few slides present loop patterns that are often useful, including: • Do N times • Do N times, changing per loop variable • Count • Sum, minimum, maximum • Find-first • Do-forever • Wait-until Programming patterns involving iteration

  6. Loop pattern: “do N times” for (int k = 0; k < 5; k++) { System.out.print(k + ″ ″); System.out.println( Math.pow((double) k, 5.0) ); Example: print k and k5 to the console window a given number of times: String s; int start, stop; s = JOptionPane.showInputDialog(″Start at?”) start = Integer.parseInt(s); s = JOptionPane.showInputDialog(″Stop after?”) stop = Integer.parseInt(s); for (int k = start; k <= stop; k++) { System.out.print(k + ″ ″); System.out.println( Math.pow((double) k, 5.0)) }; Programming patterns involving iteration

  7. Loop pattern: “count” • Counts how many times a given character appears in a string: public static int charCount(String s, char c) { int count = 0; for (k = 0; k < s.length(); k++) { if (s.charAt(k) == c) { ++ count; } } return count; } Programming patterns involving iteration

  8. Loop pattern: “sum” • Sums the digits in a string of digits: public static int digitSum(String s) { int digit; int sum = 0; for (k = 0; k < s.length(); k++) { digit = Integer.parseInt(s.substring(k, k+1)); sum = sum + digit; } return sum; } Programming patterns involving iteration

  9. Loop pattern: “maximum” • Finds the largest digit in a string of digits: public static int digitMax(String s) { int digit; int max = Integer.parseInt(s.substring(0, 1)); for (k = 1; k < s.length(); k++) { digit = Integer.parseInt(s.substring(k, k+1)); if (digit > max) { max = digit; } } return max; } Programming patterns involving iteration

  10. Loop Pattern: “find-first” • Find the first place where a given character appears in a string.Return -1 if the character does not appear. • public int findChar(String s, char c) { int i = 0; while (i < s.length()) { if (s.charAt(i) == c) { return i; } i++; } return -1; // Not found } for (i=0; i < s.length(); i++) { if (s.charAt(i) == c) { return i; } } Programming patterns involving iteration

  11. Loop Pattern: “do-forever” • Our instruction-followers often go “forever”: while (true) { System.out.println("hi"); ... } for (; true;) { System.out.println("hi"); } Programming patterns involving iteration

  12. Loop pattern: “break in middle” while (true) { ... if (...) { break; } ... } Programming patterns involving iteration

  13. How loops are combined with arrays • This is a preview of what you’ll really be studying next! • Example: Processing every member of an array: for (int k = 0; k < maxDepth; k++) { myArray[k] = 0; // Clear out whole array! } Programming patterns involving iteration

  14. How loops are combined with arrays • Preview, cntd: • Searching for things in an array int k; for (k = 0; k < maxDepth; k++) { if (myArray[k] = 0) { break; // Find an empty slot in array! } } Programming patterns involving iteration

  15. How loops are combined with arrays • Preview, cntd: • Loops within loops for multi-dimensional tables for (int k = 0; k < maxDepth; k++) { for (int m=0; m<maxWidth; m++) { myTable[k][m] = 0; // Clear out 2-dim table! } } Programming patterns involving iteration

More Related