Download presentation
Presentation is loading. Please wait.
1
COMP 14 Introduction to Programming Miguel A. Otaduy May 21, 2004
2
Loops Allow us to repeat statements some number of times Must use a loop control variable –controls how many times to loop 4 Parts to Every Loop –initialization - set loop control variable before condition –condition - when to stop –update - change to the loop control variable –body - actions to repeat
3
The while Loop while (expression) statement
4
Today in COMP 14 The for loop The do...while loop break and continue Nested loops
5
The for Loop Specialized form of while loop Simplifies the writing of count-controlled loops Basic Form: for (initialization; condition; update) { statement(s); }
6
The for Loop Execution 1. initial statement executes 2. loop condition evaluated 3. If loop condition evaluates to true, execute for loop statement and execute update statement 4. Go back to step 2 and repeat until loop condition is false
7
The for Loop Syntax for ( initialization; condition; update ) { loop body; } Reserved word The initialization is executed once before the loop begins The loop body is executed until the condition becomes false The update portion is executed at the end of each iteration The condition-loop body-update cycle is executed repeatedly
8
for vs. while A for loop is functionally equivalent to the following while loop structure: initialization; while ( condition ) { loop body; update; }
9
The for Loop Example final int LIMIT = 3; int count; for (count=0; count<LIMIT; count++) { System.out.println (count); } System.out.println (“All done!”); boolean condition loop body update initialization Output: 0 1 2 All done!
10
Comparing while and for While Loop final int LIMIT=3; int i = 0; while (i < LIMIT) { System.out.println (i); i++; } System.out.println (“All done!”); For Loop final int LIMIT=3; int i; for (i=0; i<LIMIT; i++) { System.out.println (i); } System.out.println ("All done!");
11
Watch out! for statement ending in semicolon is empty; does not affect program while statement ending in semicolon results in infinite loop for (count=0; count<LIMIT; count++); while (count<LIMIT);
12
Examples for (i=1; i<=5; i++) { System.out.println ("Hello"); System.out.println ("*"); } for (i=1; i<=5; i++) System.out.println ("Hello"); System.out.println ("*"); for (i=1; i<=5; i++); System.out.println ("*"); Hello * Hello * Hello * Hello * Hello * Hello * *
13
In-Class Exercise for vs. while Loops final int MAX = 20; int i; for (i = 0; i<MAX; i+=3) { System.out.println (i); } Predict the output Output: 0 3 6 9 12 15 18
14
In-Class Exercise for vs. while Loops final int MAX = 20; int i; for (i = 0; i<MAX; i+=3) { System.out.println (i); } Translate this to a while loop. final int MAX = 20; int i = 0; while (i < MAX) { System.out.println (i); i += 3; }
15
The do...while Loop Syntax do { loop body; } while ( condition ); do and while are reserved words The loop body is executed once initially, and then the condition is evaluated The loop body is executed repeatedly until the condition becomes false
16
do…while Loop (Post-test Loop) do { statement(s); } while (expression);
17
The do...while Loop Like a while loop, but its condition is at the end of the loop Loop body always executes at least once Must also be checked for termination (not an infinite loop) Anything you can do with a do...while loop, you can do with a while loop
18
The do...while Loop Example final int LIMIT = 3; int count = 0; do { System.out.println (count); count++; } while (count < LIMIT); System.out.println (“All done!”); boolean condition loop body update initialization Output: 0 1 2 All done!
19
Comparing while and do...while while Loop final int LIMIT=3; int count = 0; while (count < LIMIT) { System.out.println (count); count++; } System.out.println (“All done!”); do...while Loop final int LIMIT=3; int count = 0; do { System.out.println (count); count++; } while (count < LIMIT); System.out.println ("All done!");
20
while vs. do...while i = 11; while (i <= 10) { System.out.print (i); i += 5; } System.out.println(); i = 11; do { System.out.print (i); i += 5; } while (i <= 10); System.out.println(); [blank line] 11
21
In-Class Exercise The do...while Loop int x = 0, y = 0; do { System.out.println (x*y); if (y < x) { y += 2; } x++; } while (x < 5); Predict the output of the loop xy0 Output: 1 2 0 0 4 6 16 2 3 4 4 5
22
break Statements Used to exit early from a loop Used to skip remainder of switch structure Can be placed within if statement of a loop – If condition is met, loop exited immediately
23
break Example double in; while (true) { in=Double.parseDouble( keyboard.readLine()); if (in == 0.0) { break; } System.out.println (1.0 / in); } inOutput 1.0 1.00 2.0 0.50 4.0 0.25 0.0
24
continue Statements Used in while, for, and do...while structures When executed in a loop, the remaining statements in the loop are skipped; proceeds with the next iteration of the loop When executed in a while/do…while structure, expression evaluated immediately after continue statement In a for structure, the update statement is executed after the continue statement; then the loop condition executes
25
continue Example double in; while (true) { in=Double.parseDouble( keyboard.readLine()); if (in == 0.0) { continue; } System.out.println (1.0 / in); } inOutput 1.0 1.00 2.0 0.50 4.0 0.25 0.0 5.0 0.20 infinite loop
26
Nested Control Structures Provides new power, subtlety, and complexity if, if…else, and switch structures can be placed within while loops for loops can be found within other for loops –each time through the outer loop, the inner loop goes through its full set of iterations
27
Nested Control Structures Example for (int row = 1; row <= 5; row++) { for (int star = 1; star <= row; star++) { System.out.print(“*”); } System.out.println(); } Output: * ** *** **** ***** Can't use the variable row outside the outer for loop. Can't use the variable star outside the inner for loop.
28
Exercise Printing Patterns Use nested for loops * * * 1 2 3 4 5 6 7 8 9
29
To do Assignment 4 Read ch. 6
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.