The forloop and Nested loops - PowerPoint PPT Presentation

1 / 74
About This Presentation
Title:

The forloop and Nested loops

Description:

The for statement is most commonly used to step through an integer ... if for every number below, want multiplication table of value times 2, times 3, etc? ... – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 75
Provided by: Jiawe7
Category:

less

Transcript and Presenter's Notes

Title: The forloop and Nested loops


1
The for-loop and Nested loops
2
Outline
  • The for Statement Syntax
  • Semantics of the for Statement
  • Nested Loops
  • continue, break, and exit Statements

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
- The for Statement
5
- The for Statement Syntax
for ( ltinitializationgt ltboolean expressiongt
ltupdategt ) ltstatementgt // OR Block of Statments
6
- The for Control Flow
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
- 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 lt3 rowNum)
  • for (columnNum 1 columnNum lt2
    columnNum)
  • System.out.print(" row " rowNum "
    column " columnNum)
  • System.out.println()

9
- continue, break, and exit Statements
Class test public static void main( String
args) for (int i 0 i lt 10 i)
statement 1 statement 2 if( cond)
contine statement 3 statement 4
statement 5 statement 6
10
- continue, break, and exit Statements
Class test public static void main( String
args) for (int i 0 i lt 10 i)
statement 1 statement 2 if( cond)
break statement 3 statement 4
statement 5 statement 6
11
- continue, break, and exit Statements
Class test public static void main( String
args) for (int i 0 i lt 10 i)
statement 1 statement 2 if( cond)
System.exit(0) statement 3 statement 4
statement 5 statement 6
12
For-loop examples
13
Questions
  • Write a Java program which computes the sum of
    all the odd numbers between 0 and 100.
  • Write a Java program which reads 20 numbers using
    a scanner and computes their average.
  • 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.

November 20, 2009
ICS102 while do-while
13
14
Q1 Solution
Write a Java program which computes the sum of
all the odd numbers between 0 and 100.
  • int sum 0
  • for( int n 1 n lt 100 n n 2)
  • sum n
  • System.out.println(The sum is sum)

November 20, 2009
ICS102 while do-while
14
15
Q2 Solution
Write a Java program which reads 20 numbers using
a scanner and computes their average.
  • Scanner kb new Scanner(System.in)
  • double x
  • double sum 0
  • for (int cnt 0 cnt lt 20 cnt)
  • System.out.println(Enter a number)
  • x kb.nextDouble()
  • sum x
  • System.out.println(The Average is sum/cnt)

November 20, 2009
ICS102 while do-while
15
16
Q3 Solution
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.
  • Scanner kb new Scanner(System.in)
  • int even_cnt 0
  • int odd_cnt 0
  • int n
  • For()
  • n kb.nextInt()
  • if (n lt 0)
  • break
  • else if ( n2 0)
  • even_cnt
  • else
  • odd_cnt
  • System.out.println(Even even_count odd
    odd_cnt)

November 20, 2009
ICS102 while do-while
16
17
Nested-loop examples
18
Questions
  • 1. Write a java program which gives the following
    output
  • 1
  • 22
  • 333
  • 4444
  • 55555
  • Write a java program which prints all the prime
    numbers less than 1000.

19
Q1 Solution
  • Write a java program which gives the following
    output
  • 1
  • 22
  • 333
  • 4444
  • for(int k 1 k lt 5 k)
  • For ( int j 1 j ltk j)
  • System.out.print(k)
  • System.out.println()

20
Q2 solution
  • Write a java program which prints all the prime
    numbers less than 1000.
  • int n, j
  • for(int k 2 k lt 100 k)
  • n 0
  • j 2
  • while(n 0 j lt k/2)
  • if (kj 0) n
  • j
  • if( n 0) System.out.println(k)

21
THE END
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 lt 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 lt 3 i)
  • System.out.println(i)
  • What does it do? Prints

1 2 3
25
Nested Loops
  • Very simple for loop
  • public class SimpleLoop
  • public static void main (String args)
  • for (int i 1 i lt 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 lt 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 lt 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 lt 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 lt 3 i)
  • for (int j 1 j lt 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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

1
i
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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

1
i
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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

1
i j
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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

1
i j
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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

1
i j
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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

1
i j
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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

1
i j
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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

1
i j
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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

1
i j
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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

1
i j
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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

1
i j
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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

1
i j
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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

1
i j
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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

1
i j
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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

2
i j
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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

2
i j
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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

2
i j
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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

2
i j
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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

2
i j
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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

2
i j
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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

2
i j
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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

2
i j
2
  • 2 3
  • 2 4_

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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

2
i j
3
  • 2 3
  • 2 4_

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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

2
i j
3
  • 2 3
  • 2 4_

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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

2
i j
3
  • 2 3
  • 2 4 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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

2
i j
4
  • 2 3
  • 2 4 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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

2
i j
4
  • 2 3
  • 2 4 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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

2
i j
4
  • 2 3
  • 4 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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

3
i j
4
  • 2 3
  • 2 4 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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

3
i j
4
  • 2 3
  • 4 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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

3
i j
1
  • 2 3
  • 4 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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

3
i j
1
  • 2 3
  • 4 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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

3
i j
1
  • 2 3
  • 4 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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

3
i j
2
  • 2 3
  • 4 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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

3
i j
2
  • 2 3
  • 4 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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

3
i j
2
  • 2 3
  • 4 6
  • 3 6_

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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

3
i j
3
  • 2 3
  • 4 6
  • 3 6_

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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

3
i j
3
  • 2 3
  • 4 6
  • 6_

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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

3
i j
3
  • 2 3
  • 4 6
  • 3 6 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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

3
i j
4
  • 2 3
  • 4 6
  • 3 6 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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

3
i j
4
  • 2 3
  • 4 6
  • 6 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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

3
i j
4
  • 2 3
  • 4 6
  • 6 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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

4
i j
4
  • 2 3
  • 4 6
  • 6 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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

4
i j
4
  • 2 3
  • 4 6
  • 6 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 lt 3 i)
  • for (int j 1 j lt 3 j)
  • System.out.print((i j) " ")
  • System.out.println()

4
i j
4
  • 2 3
  • 4 6
  • 6 9
  • _

Exit!
Write a Comment
User Comments (0)
About PowerShow.com