Presentation is loading. Please wait.

Presentation is loading. Please wait.

October 28, 2015ICS102: For Loop1 The for-loop and Nested loops.

Similar presentations


Presentation on theme: "October 28, 2015ICS102: For Loop1 The for-loop and Nested loops."— Presentation transcript:

1 October 28, 2015ICS102: For Loop1 The for-loop and Nested loops

2 October 28, 2015ICS102: For Loop 2 Outline The for Statement Syntax Semantics of the for Statement Nested Loops continue, break, and exit Statements

3 October 28, 2015ICS102: For Loop 3 - The for Statement The for statement is most commonly used to step through an integer variable in equal increments It begins with the keyword for, followed by three expressions in parentheses that describe what to do with one or more controlling variables The first expression tells how the control variable or variables are initialized or declared and initialized before the first iteration The second expression determines when the loop should end, based on the evaluation of a Boolean expression before each iteration The third expression tells how the control variable or variables are updated after each iteration of the loop body

4 October 28, 2015ICS102: For Loop 4 - …The for Statement Scanner in = new Scanner(System.in); int i, sum = 0, number; for (i = 0; i < 20; i++) { number = in.nextInt(); sum += number; } These statements are executed for 20 times ( i = 0, 1, 2, …, 19).

5 October 28, 2015 ICS102: For Loop Chapter 7 - 5 for ( i = 0 ; i < 20 ; i++ ) { number = in.nextInt(); sum += number; } - The for Statement Syntax for ( ; ; ) // OR Block of Statments Initialization Boolean Expression Update Statement (loop body)

6 October 28, 2015 ICS102: For Loop Chapter 7 - 6 - The for Control Flow i = 0; false number = in.nextInt( ); sum += number; i ++; i < 20 ? true

7 October 28, 2015ICS102: For Loop 7 - Nested Loops Loops can be nested, just like other Java structures When nested, the inner loop iterates from beginning to end for each single iteration of the outer loop for (Initializing; Boolean_Expression; Update) Block 1 Block 1 can contain other loop statements as follows Block 1  for (Initializing; Boolean_Expression; Update) Block 2

8 October 28, 2015ICS102: For Loop 8 - Nested Loops Loops can be nested, just like other Java structures When nested, the inner loop iterates from beginning to end for each single iteration of the outer loop int rowNum, columnNum; for (rowNum = 1; rowNum <=3; rowNum++) { for (columnNum = 1; columnNum <=2; columnNum++) { System.out.print(" row " + rowNum + " column " + columnNum); } System.out.println(); }

9 October 28, 2015ICS102: For Loop 9 - continue, break, and exit Statements … Class test { public static void main( String [] args) { for (int i = 0; i < 10; i++) { statement 1; statement 2; if( cond) contine; statement 3; statement 4; } statement 5; statement 6; }

10 October 28, 2015ICS102: For Loop 10 … - continue, break, and exit Statements … Class test { public static void main( String [] args) { for (int i = 0; i < 10; i++) { statement 1; statement 2; if( cond) break; statement 3; statement 4; } statement 5; statement 6; }

11 October 28, 2015ICS102: For Loop 11 … - continue, break, and exit Statements Class test { public static void main( String [] args) { for (int i = 0; i < 10; i++) { statement 1; statement 2; if( cond) System.exit(0); statement 3; statement 4; } statement 5; statement 6; }

12 October 28, 2015ICS102: For Loop 12 For-loop examples

13 October 28, 2015ICS102: For Loop 13 October 28, 2015ICS102: while & do-while 13 Questions 1. Write a Java program which computes the sum of all the odd numbers between 0 and 100. 2. Write a Java program which reads 20 numbers using a scanner and computes their average. 3. Write a Java program which reads unknown number of integers using a scanner and counts the number of odd numbers and the number of even numbers. Assume the input integers are all positive. Use a negative number as a sentinel.

14 October 28, 2015ICS102: For Loop 14 October 28, 2015ICS102: while & do-while 14 Q1 Solution int sum = 0; for( int n = 1; n <= 100; n = n + 2) { sum += n; } System.out.println(“The sum is “ + sum); Write a Java program which computes the sum of all the odd numbers between 0 and 100.

15 October 28, 2015ICS102: For Loop 15 October 28, 2015ICS102: while & do-while 15 Q2 Solution Scanner kb = new Scanner(System.in); double x; double sum = 0; for (int cnt = 0; cnt < 20; cnt++) { System.out.println(“Enter a number”); x = kb.nextDouble(); sum += x; } System.out.println(“The Average is “ + sum/cnt); Write a Java program which reads 20 numbers using a scanner and computes their average.

16 October 28, 2015ICS102: For Loop 16 October 28, 2015ICS102: while & do-while 16 Q3 Solution Scanner kb = new Scanner(System.in); int even_cnt = 0; int odd_cnt = 0; int n; For(;;) { n = kb.nextInt(); if (n < 0) break; else if ( n%2 == 0) even_cnt++; else odd_cnt++; } System.out.println(“Even = “ + even_count + “ odd = “ odd_cnt); Write a Java program which reads unknown number of integers using a scanner and counts the number of odd numbers and the count of even numbers. Assume the input integers are all positive. Use any negative number as a sentinel.

17 October 28, 2015ICS102: For Loop 17 Nested-loop examples

18 October 28, 2015ICS102: For Loop 18 Questions 1.Write a java program which gives the following output 1 22 333 4444 55555 2. Write a java program which prints all the prime numbers less than 1000.

19 October 28, 2015ICS102: For Loop 19 Q1 Solution Write a java program which gives the following output 1 22 333 4444 for(int k = 1; k <= 5; k++) { For ( int j = 1; j <=k; j++) System.out.print(k); System.out.println(); }

20 October 28, 2015ICS102: For Loop 20 Q2 solution Write a java program which prints all the prime numbers less than 1000. int n, j; for(int k = 2; k < 100; k++) { n = 0; j = 2; while(n == 0 && j < k/2) { if (k%j == 0) n++; j++; } if( n ==0) System.out.println(k); }

21 October 28, 2015ICS102: For Loop 21 THE END

22 October 28, 2015ICS102: For Loop 22 Nested Loops Tracing

23 Nested Loops Very simple for loop public class SimpleLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { System.out.println(i); } What does it do?

24 Nested Loops Very simple for loop public class SimpleLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { System.out.println(i); } What does it do? Prints 123123

25 Nested Loops Very simple for loop public class SimpleLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { System.out.println(i); } What if for every number below, want multiplication table of value times 2, times 3, etc? 1 2 3 2 4 6 3 6 9

26 Nested Loops Very simple for loop public class SimpleLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { System.out.println(i); } For every number printed by loop above 1 2 3 2 4 6 3 6 9

27 Nested Loops Very simple for loop public class SimpleLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { System.out.println(i); } For every number printed by loop above need another loop to print numbers in row 1 2 3 2 4 6 3 6 9

28 Nested Loops Very simple for loop public class SimpleLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { System.out.println(i); } For every number printed by loop above need another loop to print numbers in row 1 2 3 2 4 6 3 6 9 How do we do that?

29 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); }

30 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } i 1

31 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } i 1

32 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 1 1

33 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 1 1

34 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 1 1 1_

35 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 1 2 1_

36 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 1 2 1_

37 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 1 2 1 2_

38 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 1 3 1 2_

39 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 1 3 1 2_

40 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 1 3 1 2 3_

41 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 1 4 1 2 3_

42 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 1 4 1 2 3_

43 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 1 4 1 2 3 _

44 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 2 4 1 2 3 _

45 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 2 4 1 2 3 _

46 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 2 1 1 2 3 _

47 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 2 1 1 2 3 _

48 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 2 1 1 2 3 2_

49 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 2 2 1 2 3 2_

50 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 2 2 1 2 3 2_

51 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 2 2 12 3 24_

52 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 2 3 12 3 24_

53 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 2 3 12 3 24_

54 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 2 3 12 3 24 6_

55 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 2 4 12 3 24 6_

56 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 2 4 12 3 24 6_

57 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 2 4 12 3 24 6 _

58 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 3 4 12 3 24 6 _

59 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 3 4 12 3 24 6 _

60 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 3 1 12 3 24 6 _

61 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 3 1 12 3 24 6 _

62 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 3 1 12 3 24 6 3_

63 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 3 2 12 3 24 6 3_

64 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 3 2 12 3 24 6 3_

65 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 3 2 12 3 24 6 36_

66 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 3 3 12 3 24 6 36_

67 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 3 3 12 3 24 6 36_

68 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 3 3 12 3 24 6 36 9_

69 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 3 4 12 3 24 6 36 9_

70 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 3 4 12 3 24 6 36 9_

71 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 3 4 12 3 24 6 36 9 _

72 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 4 4 12 3 24 6 36 9 _

73 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 4 4 12 3 24 6 36 9 _

74 Nested Loops Put a loop inside a loop trace to see how it works public class NestedLoop { public static void main (String[] args) { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { System.out.print((i * j) + " "); } System.out.println(); } ijij 4 4 12 3 24 6 36 9 _ Exit!


Download ppt "October 28, 2015ICS102: For Loop1 The for-loop and Nested loops."

Similar presentations


Ads by Google