Presentation is loading. Please wait.

Presentation is loading. Please wait.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie COMP 14 Introduction to Programming Adrian Ilie July 6, 2005.

Similar presentations


Presentation on theme: "The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie COMP 14 Introduction to Programming Adrian Ilie July 6, 2005."— Presentation transcript:

1 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie COMP 14 Introduction to Programming Adrian Ilie July 6, 2005

2 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 2 Homework Collaboration ♦ Declare it or lose points Proper naming of attached files Proper email subject Algorithm first, program later ♦ I will not help you with a program if you can’t show me at least a tentative algorithm first Be easy on my eyes, use proper indentation Don’t submit it if it doesn’t work, come talk to me instead

3 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 3 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

4 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 4 The while Loop while (expression) statement

5 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 5 Today in COMP 14 The for loop The do...while loop break and continue Nested loops

6 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 6 The for Loop Specialized form of while loop Simplifies the writing of count-controlled loops Basic Form: for (initialization; condition; update) { statement(s); }

7 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 7 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

8 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 8 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

9 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 9 for vs. while A for loop is functionally equivalent to the following while loop structure: initialization; while ( condition ) { loop body; update; }

10 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 10 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!

11 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 11 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!");

12 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 12 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);

13 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 13 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 * *

14 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 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); } Predict the output Output: 0 3 6 9 12 15 18

15 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 15 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; }

16 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 16 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

17 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 17 do…while Loop (Post-test Loop) do { statement(s); } while (expression);

18 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 18 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

19 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 19 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!

20 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 20 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!");

21 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 21 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

22 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 22 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 x y0 Output: 1 2 0 0 4 6 16 2 3 4 4 5

23 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 23 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

24 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 24 break Example double in; while (true) { in=Double.parseDouble( keyboard.readLine()); if (in == 0.0) { break; } System.out.println (1.0 / in); } in Output 1.0 1.00 2.0 0.50 4.0 0.25 0.0

25 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 25 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

26 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 26 continue Example double in; while (true) { in=Double.parseDouble( keyboard.readLine()); if (in == 0.0) { continue; } System.out.println (1.0 / in); } in Output 1.0 1.00 2.0 0.50 4.0 0.25 0.0 5.0 0.20 infinite loop

27 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 27 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

28 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 28 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.

29 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 29 Exercise Printing Patterns Use nested for loops * * * 1 2 3 4 5 6 7 8 9

30 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 30 To do Assignment 4 Read ch. 6


Download ppt "The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie COMP 14 Introduction to Programming Adrian Ilie July 6, 2005."

Similar presentations


Ads by Google