Upcoming SlideShare
×

# Repetition Structure

458 views
286 views

Published on

Chapter 5

0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

Views
Total views
458
On SlideShare
0
From Embeds
0
Number of Embeds
59
Actions
Shares
0
11
0
Likes
0
Embeds 0
No embeds

No notes for slide

### Repetition Structure

1. 1. Control Structure Repetition
2. 2. Outlines  Repetition Statements  while statement  do..while statement  for statement  Nested loops  Repetition Control Structures
3. 3. Repetition Statements  Repetition statement (or loop) a block of code to be executed for a fixed number of times or until a certain condition is met.  In JAVA, repetition can be done by using the following repetition statements: a) while b) do…while c) for
4. 4. The while statement  The while statement evaluates expression/condition, which must return a boolean value. If the expression/condition is true, the statement(s) in the while block is/are executed.  Syntax: while (expression/condition) Statement(s);  It continues testing the expression/condition and executing its block until the expression/condition evaluates to false
5. 5. The while statement
6. 6. Output ? 1 2 3 4 Example 1 int i=1; while (i<5){ System.out.print(i + “”); i++; }
7. 7. Output ? SUM : 1 SUM : 7 Good Bye Example 2 int sum=0, number =1; while (number <= 10) { sum+=number; number = number + 5; System.out.println(“SUM :” + sum); } System.out.println(“Good Bye”);
8. 8. The do…while statement  It is similar to while loops except it first executes the statement(s) inside the loop, and then evaluates the expression/condition. If the expression is true, the statement(s) in the do loop is/are executed again.  Syntax do statement(s); while (expression);  It continues executing the statement until the expression/condition becomes false.  Note that the statement within the do loop is always executed at least once.
9. 9. The do…while statement
10. 10. Output ? 0 1 2 3 Example 3 int i=0; do{ System.out.print(i + “”); i++; }while(i<=3);
11. 11. Output ? SUM : 2 SUM : 9 Example 4 int sum=0, number =2; do{ sum+=number; number = number + 5; System.out.println(“SUM :” + sum); } while (number <= 10);
12. 12. The for statement  Usually used when a loop will be executed a set number of times.  Syntax: for(initial statement; loop condition; update statement) statement(s);  The for loop executes as follow: 1) The initial statement is executed. 2) The loop expression/condition is evaluated. If it is TRUE, the loop statement is executed followed by the execution of the update statement 3) Repeat step 2) until the loop condition evaluates to FALSE.
13. 13. The for statement
14. 14. Output ? 1 2 3 4 Example 5 for (i=1; i<5; i++) System.out.print(i);
15. 15. Output ? YAHOO ***YAHOO *** Example 6 for (i=1; i<3; i++){ System.out.print(“YAHOO” + “”); System.out.print(“***”); }
16. 16. Output ? YAHOO YAHOO YAHOO YAHOO YAHOO *** Example 7 for (i=1; i<=5; i++) System.out.print(“YAHOO”); System.out.print(“***”);
17. 17. Nested Loops  The placing of one loop inside the body of another loop is called nesting.  When you "nest" two loops, the outer loop takes control of the number of complete repetitions of the inner loop.  While all types of loops may be nested, the most commonly nested loops are for loops.
18. 18. Nested for Loops  When working with nested loops, the outer loop changes only after the inner loop is completely finished (or is interrupted.).
19. 19. Example 8 int num1, num2; for(num2 = 0; num2 <= 2; num2++) { for(num1 = 0; num1 <= 1; num1++) { System.out.println(num2 + " " + num1); } } Output ? 0 0 0 1 1 0 1 1 2 0 2 1
20. 20. Infinite Loop  By using any repetition statements, make sure that the loop will eventually terminate.  An infinite loop occurs when a condition always evaluates to true and continues to execute endlessly. int product =0; for (product = 0;product < 10;) { product = product * 2; System.out.println(product); }
21. 21. Repetition Control Structures Repetition can be controlled by:  Counter controlled loop  Sentinel controlled loop  Flag controlled loop Exercise
22. 22. Counter Controlled Loop  Know exactly how many times a set of statements needs to be executed. Output ? 1 3 5 7 9 int num =1; while (num < 10) { System.out.print (num); num = num +2; } Example 10: back
23. 23. Sentinel Controlled Loop  You might not know exactly how many times a set of statements needs to be executed.  It uses a "special" or sentinel value to indicate that the loop is to end.  This must be a value that doesn't occur normally in the data.
24. 24. Example 11 (complete program) import java.util.Scanner; class sentinelLoop { public static void main (String[] args) { Scanner input = new Scanner(System.in); System.out.print("Enter an Integer, or -1 to stop: "); int choice= input.nextInt(); while (choice!=-1) { System.out.println("INSIDE LOOPING"); System.out.print("Enter an Integer, or -1 to stop: "); choice= input.nextInt(); } System.out.println("Sentinel value detected. Good Bye."); } }
25. 25. Example 11 …. Enter an Integer, or -1 to stop: 2 INSIDE LOOPING Enter an Integer, or -1 to stop: 5 INSIDE LOOPING Enter an Integer, or -1 to stop: 0 INSIDE LOOPING Enter an Integer, or -1 to stop: -1 Sentinel value detected. Good Bye. OUTPUT? back
26. 26. Flag Controlled Loop  Use a boolean variable to control the loop boolean found = false; while (!found){ : : if(expression) found = true; } back
27. 27. Exercise 1: What is the output of the following program? public class LoopExercise1 { public static void main (String args[]) { int choice=1, total=0; while (choice <4){ total = choice++; System.out.print(total); } } }
28. 28. Exercise 2: What is the output of the following program? public class LoopExercise2 { public static void main (String args[]){ for (int number =2; number <20; number++) { number = number *2; if (number <15) System.out.println(number);} } }
29. 29. Exercise 3: How many times is the following loop body repeated? public class LoopExercise3 { public static void main (String args[]) { int i=1; do { if ((i % 2)== 0) System.out.print(i); i++; } while(i<5); } }