Download presentation
Presentation is loading. Please wait.
Published byAllyson Tenneson Modified over 10 years ago
1
Chapter 4 Ch 1 – Introduction to Computers and Java Flow of Control Loops 1
2
Chapter 4 4.1 Java Loop Statements 4.2 Programming with Loops 4.3 Graphics Supplement 2
3
4.1 Java Loop Statements 3 repeat...repeat...repeat
4
Repetition simplifies coding 4
5
How would you sum up 1 through 100? 5 sum = 1 + 2 + 3 +..... 100 sum = 1 sum += 2... sum += 100
6
How about 1 through 100,00? 6 We need a more efficient way to accomplish this task. One that can scale up easily!
7
The for Statement 7 sum = 0 num = 1 sum += num num <= 100num > 100 num++ end
8
for Deconstructed int sum = 0; for (int num = 1; num <= 100; num++) { sum += num; } 8 Is this solution scalable? int sum = 0; for (int num = 1; num <= 10000; num++) { sum += num; } initial step condition step update step
9
Application Deconstructed package sumnumbers; import java.util.Scanner; public class SumNumbers { public static void main(String[] args) { int upperBound; int sumOfNumbers = 0; Scanner keyboard = new Scanner(System.in); System.out.println("I will add numbers from 1 to n."); System.out.print("Please enter n: "); upperBound = keyboard.nextInt(); 9
10
Application Deconstructed for (int num = 1; num <= upperBound; num++) { sumOfNumbers += num; } //end for System.out.println(""); System.out.println("The sum of 1 to " + upperBound + " is " + sumOfNumbers); } //end main() } //end SumNumbers 10
11
Recap: for Use to repeat a fixed number of times Excellent choice for counting problems Very concise – all steps on one line 11
12
Sometimes you may not want to repeat an action at all 12
13
Summing a list of numbers 13 First decide what ends the list Let's say that -1 will signal the end of the input Now, could the list be empty? It could, if user enters -1 as the first number
14
The while Statement 14 get num sum += num num != -1num == -1 get num end
15
while Deconstructed int num; int sumOfNumericList = 0; System.out.print("Enter number of -1 to quit: "); num = keyboard.nextInt(); while(num != -1) { sumOfNumericList += num; System.out.print("Enter number of -1 to quit: "); num = keyboard.nextInt(); } 15 initial step condition step update step
16
Application Deconstructed package sumnumericlist; import java.util.Scanner; public class SumNumericList { public static void main(String[] args) { int num; int sumOfNumericList = 0; Scanner keyboard = new Scanner(System.in); 16 System.out.print("Enter a number or -1 to quit: "); num = keyboard.nextInt(); while (num != -1) { sumOfNumericList += num; System.out.print("Enter a number or -1 to quit: "); num = keyboard.nextInt(); } //end while
17
Application Deconstructed System.out.println("The sum of the numbers is " + sumOfNumericList); } //end main() } //end SumNumericList 17
18
Recap: while Use to repeat 0 or more times Number of iterations is unknown before hand Test before execution 18
19
And sometimes you may want to repeat an action at least once 19
20
Sum numbers until you reach 100 20 Add next number if sum is less than 100 Stop when sum becomes greater than or equal to 100
21
The do-while Statement 21 sum = 0 get num sum < 100 sum >= 100 sum += num end
22
do-while Deconstructed int num; int sumToReach = 0; do { System.out.print("Enter number: "); num = keyboard.nextInt(); sumToReach += num; } while(sumToReach < 100); 22 initial step condition step update step
23
Application Deconstructed package sumtoreach; import java.util.Scanner; public class SumToReach { public static void main(String[] args) { int num; int sumToReach = 0; Scanner keyboard = new Scanner(System.in); do { System.out.print("Enter a number: "); num = keyboard.nextInt(); sumToReach += num; } while(sumToReach < 100); 23
24
Application Deconstructed System.out.println("The sum is " + sumToReach); } //end main() } //end SumToReach 24
25
Recap: do-while Use to repeat 1 or more times Number of iterations is unknown before hand Test after execution 25
26
The for-each Statement 26 Allows you to cycle through an enumeration or collection, in its entirety
27
for-each Deconstructed enum Suit { CLUBS, DIAMONDS, HEARTS, SPADES } 27 for ( Suit nextSuit : Suit.values() ) { System.out.print(nextSuit + " "); }
28
Application Deconstructed package foreachenum; public class ForEachEnum { enum Suit { CLUBS, DIAMONDS, HEARTS, SPADES } public static void main(String[] args) { for ( Suit nextSuit : Suit.values() ) { System.out.print(nextSuit + " "); } //end for System.out.println(""); } //end main() } //end ForEachEnum 28
29
4.2 Programming with Loops 29
30
In Class Examples 30 for: Count down User enters upper bound, lower bound and step down. Program outputs list. while: Number reversal User enters integer to reverse. Program displays reversed number.
31
In Class Examples 31 while: Structure violation (implement in class) int num = 0; int count = 0; while (num != -1) { read number count number }
32
Recap: Repetition Strive to always choose the most appropriate loop for the task Each loop has a purpose and a structure Do not violate either one 32
33
4.3 Graphic Supplement 33
34
Applet Deconstructed package fallingletters; import java.awt.Color; import javax.swing.JApplet; import java.awt.Graphics; public class FallingLetters extends JApplet { public static final int LETTER_COUNT = 100; int windowWidth; int windowHeight; @Override public void paint(Graphics canvas) { windowWidth = this.getWidth(); windowHeight = this.getHeight(); 34
35
Applet Deconstructed @Override public void paint(Graphics canvas) { windowWidth = this.getWidth(); windowHeight = this.getHeight(); int x; int y; char c; int red; int green; int blue; 35
36
Applet Deconstructed for (int letter = 1; letter <= LETTER_COUNT; letter++) { x = (int)(Math.random() * windowWidth); y = (int) (Math.random() * windowHeight); c = (char)( (int) (Math.random() * 26) + 65); red = (int)(Math.random() * 256); green = (int)(Math.random() * 256); blue = (int)(Math.random() * 256); canvas.setColor(new Color(red, green, blue)); canvas.drawString(String.valueOf(c), x, y); }// end for }// end paint() }// end FallingLetters 36
37
Applet Deconstructed 37
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.