Repetition Statements
(loops)
Loops – While, Do, For
• Repetition Statements
- While
- Do
- For
2
Repetition Statements
• Repetition statements allow us to execute a statement or a block of
statements multiple times
• Often they are referred to as loops
• Like conditional statements, they are controlled by boolean expressions
• Java has three kinds of repetition statements:
while
do
for
• The programmer should choose the right kind of loop statement for the
situation
The while Statement
• A while statement has the following syntax:
while ( condition )
statement;
• If the condition is true, the statement is executed
• Then the condition is evaluated again, and if it is still true, the statement is
executed again
• The statement is executed repeatedly until the condition becomes false
4
Logic of a while Loop
condition
evaluated
true false
statement
5
The while Statement
• An example of a while statement:
int count = 0;
while (count < 2)
{
[Link]("Welcome to Java!");
count++;
}
• If the condition of a while loop is false initially, the statement is never
executed
• Therefore, the body of a while loop will execute zero or more times
6
animation
Trace while Loop
Initialize count
int count = 0;
while (count < 2)
{
[Link]("Welcome to Java!");
count++;
}
7
animation
Trace while Loop, cont.
(count < 2) is true
int count = 0;
while (count < 2)
{
[Link]("Welcome to Java!");
count++;
}
8
animation
Trace while Loop, cont.
Print Welcome to Java
int count = 0;
while (count < 2)
{
[Link]("Welcome to Java!");
count++;
}
9
animation
Trace while Loop, cont.
Increase count by 1
int count = 0; count is 1 now
while (count < 2)
{
[Link]("Welcome to Java!");
count++;
}
10
animation
Trace while Loop, cont.
(count < 2) is still true since count is 1
int count = 0;
while (count < 2)
{
[Link]("Welcome to Java!");
count++;
}
11
animation
Trace while Loop, cont.
Print Welcome to Java
int count = 0;
while (count < 2)
{
[Link]("Welcome to Java!");
count++;
}
12
animation
Trace while Loop, cont.
Increase count by 1
count is 2 now
int count = 0;
while (count < 2)
{
[Link]("Welcome to Java!");
count++;
}
13
animation
Trace while Loop, cont.
(count < 2) is false since count is 2 now
int count = 0;
while (count < 2)
{
[Link]("Welcome to Java!");
count++;
}
14
animation
Trace while Loop, cont.
The loop exits. Execute the next
int count = 0; statement after the loop.
while (count < 2)
{
[Link]("Welcome to Java!");
count++;
}
15
Example ([Link])
16
Infinite Loops
• Executing the statements in the body of a while loop must eventually
make the condition false
• If not, it is called an infinite loop, which will execute until the user
interrupts the program
• This is a common logical error
• You should always double check the logic of a program to ensure that your
loops will terminate
17
Infinite Loops
• An example of an infinite loop:
int count = 1;
while (count <= 25)
{
[Link](count);
count = count - 1;
}
• This loop will continue executing until the user externally
interrupts the program.
18
Nested Loops
• Similar to nested if statements, loops can be nested as well
• That is, the body of a loop can contain another loop
• For each iteration of the outer loop, the inner loop iterates
completely
19
Nested Loops
• How many times will the string "Here" be printed?
count1 = 1;
while (count1 <= 10)
{
count2 = 1;
while (count2 <= 20)
{
[Link] ("Here");
count2++;
}
count1++;
}
10 * 20 = 200 20