Presentation is loading. Please wait.

Presentation is loading. Please wait.

Loops Chapter 4. It repeats a set of statements while a condition is true. while (condition) { execute these statements; } “while” structures.

Similar presentations


Presentation on theme: "Loops Chapter 4. It repeats a set of statements while a condition is true. while (condition) { execute these statements; } “while” structures."— Presentation transcript:

1 loops Chapter 4

2 It repeats a set of statements while a condition is true. while (condition) { execute these statements; } “while” structures

3 It repeats a set of statements while a condition is true. while ( condition ) { execute these statements; } 2 2 1 1 3 3 The dynamics of “while” Evaluate condition: if TRUE go to 2 If FALSE go to 3 Execute statements, and then go to 1 Continue with next statement. The dynamics of “while” Evaluate condition: if TRUE go to 2 If FALSE go to 3 Execute statements, and then go to 1 Continue with next statement. 1. 2. 3.

4 “while” structures It repeats a set of statements while a condition is true. int speedLimit = 55; int speed = 0; while ( speed <= speedLimit ) { speed = speed + 1; } // since we don’t want a ticket… speed = speed - 1; What is the value of “speed” after the last statement? A.55 B.54 C.56 D.0 E.none of the above

5 “while” structures It repeats a set of statements while a condition is true. int speedLimit = 55; int speed = 0; while ( speed < speedLimit ) { speed = speed + 1; } // since we don’t want a ticket… speed = speed - 1; initialize variables in conditional initialize variables in conditional 1 modify variables in conditional modify variables in conditional 2

6 “while” structures: Exercises Determine the output of the following methods: public void foo1() { int i=0; while (i <= 20) { System.out.println( i ); i = i + 4; // or i+= 4; } public void foo2() { int i = 20; while (i > 0) { i = i / 2; System.out.println( i ); } A.0 4 8 12 16 20 B.4 8 12 16 C.0 4 8 12 16 20 24 D.0 4 8 12 16 E.none of the above (on separate lines) A.20 10 5 2.5 1.25 B.10 5 2 1 0 C.20 5 2 1 D.20 5 2 1 0 E.none of the above (on separate lines)

7 Do on the board 1.Write a method named “countDown” that receives an integer parameter named “number”, and displays (using System.out.println ) all numbers from the number down to 0. For example, if the parameter was 8, the method should display numbers 7, 6, 5, 4, 3, 2, 1, 0, in this order and with each number in one line. 2.Write a method named “countEven” that receives an integer parameter named “number”, displays (using System.out.println ) all even numbers between 0 and the number received, and returns a integer value with the number of even numbers displayed. For example, if the parameter was 8, the method should display numbers 2, 4 and 6, in this order and with each number in one line, and return a value of 3 (which is how many even numbers were between 0 and 8).

8 “for” structures It (also) repeats statements while a condition is true. Works best when loop will be repeated a known number of times initial statement loop condition modify statement 2 2 1 1 4 4 3 3 5 5 The dynamics of “for” 1. Initialize condition variables. 2. Evaluate loop condition: if TRUE go to 3 If FALSE go to 5 3. Execute statements; then go to 4 4. Modify condition variables; then go to 2 5. Continue with next statements. The dynamics of “for” 1. Initialize condition variables. 2. Evaluate loop condition: if TRUE go to 3 If FALSE go to 5 3. Execute statements; then go to 4 4. Modify condition variables; then go to 2 5. Continue with next statements. for ( ; ; ) { statements; }

9 prime using for Write a method named “prime” that returns a boolean value indicating whether an integer parameter named number is a prime number. How to write Java: Answer the questions: Exactly how do you do this? What is a step by step description? WRITE IN ENGLISH. NOT Java or Draw pictures. or both Debug the English: Trace through with numbers. especially with going through the loop 0 times, 1 time, >= 1 times. Fix the ENGLISH.

10 Write a method that returns a boolean value indicating whether an integer parameter named number is a prime number. 1.Brainstorm. How do you figure out if a number is prime? prime(11) prime(12). Talk to each other. 2.Write an algorithm for that 3.Translate the algorithm to Java

11 Write a method that returns a boolean value indicating whether an integer parameter named number is a prime number. public boolean prime(int nbr) // assumes nbr > 0 { if (nbr < 2) // only look at positive numbers return false; for (int i=2;i<nbr;i++) if (i % nbr == 0) return false; // else // return true means there is no loop return true; } for loop leaves loop and method outside the loop

12 “for” structures: Exercises 1.Write a method named “factorial” that calculates the factorial of an integer parameter named “number” (where factorial is the multiplication of all numbers from 1 to number-1). The method should return an integer number with the result of the factorial, and it should work only with positive numbers (return 0 in the case of non-positive parameter numbers). 2.Write a call to factorial that prints the result of 4!

13 Embedded loops Write a method to draw a square box given its size as a parameter 1.Write the first line (for loop printing n stars) 2.println 3.for each internal line (n-2 of them) a.print a * b.print n-2 spaces c.println a * 4.print the last line

14 public void printBox(int size) { if (size < 2) return; // boxes must be 2d for (int i=0;i<size;i++) System.out.print('*'); // first line System.out.println( ); for (int i=0;i<size-2;i++) // print internal lines { System.out.print('*'); // loop within loop for (int j=0;j<size-2;j++) // print internal spaces System.out.print(' '); System.out.println('*'); } for (int i=0;i<size;i++) System.out.print('*'); // last line System.out.println( ); }

15 Embedded Loop Practice Write a loop that prints a times table 0-2: 0 0 1 2 0 0 0 0 1 0 1 2 2 0 2 4 1.Write the first line 2.for each number on the left (0*, 1*, 2*) a.print the left number (the LHS of the table) b.for each number on the right (*0, *1, *2) i.print the product c.println.


Download ppt "Loops Chapter 4. It repeats a set of statements while a condition is true. while (condition) { execute these statements; } “while” structures."

Similar presentations


Ads by Google