The document discusses repetition statements in programming, specifically in Java, which include the while loop, do-while loop, and for loop. It explains the syntax and logic behind these loops, emphasizing the importance of ensuring that loops terminate correctly to avoid infinite loops. Additionally, it covers nested loops and compares the different types of loops, highlighting how they can be used for various programming tasks such as input validation and summation.
Repetition Statements
• Repetitionstatements allow us to execute a cstatement
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:
• the while loop
• the do loop
• the for loop
3.
A whilestatement 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
The while Statement
4.
Logic of awhile Loop
condition
evaluated
statement
true false
5.
An exampleof a while statement:
int count = 1;
while (count <= 5){
System.out.println (count);
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
The while Statement
6.
Let's lookat some examples of loop processing
A loop can be used to maintain a running sum
A sentinel value is a special input value that
represents the end of input
A loop can also be used for input validation, making a
program more robust
The while Statement
7.
The bodyof a while loop eventually must 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 (semantic) error
You should always double check the logic of a
program to ensure that your loops will terminate
normally
Infinite Loops
8.
An exampleof an infinite loop:
int count = 1;
while (count <= 25){
System.out.println (count);
count = count - 1;
}
This loop will continue executing until interrupted (Control-C)
or until an underflow error occurs
Infinite Loops
9.
Similar tonested 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
Your second course project involves a while loop
nested inside of a for loop
Nested Loops
10.
How manytimes will the string "Here" be printed?
count1 = 1;
while (count1 <= 10){
count2 = 1;
while (count2 <= 20) {
System.out.println ("Here");
count2++;
}
count1++;
}
10 * 20 = 200
Nested Loops
11.
A do-whilestatement (also called a do loop) has the following
syntax:
do{
statement;
}while ( condition )
• The statement is executed once initially, and then the
condition is evaluated
• The statement is executed repeatedly until the condition
becomes false
The do-while Statement
12.
Logic of ado-while
Loop
statement
condition
evaluated
true
false
13.
An exampleof a do loop:
int count = 0;
do{
count++;
System.out.println (count);
} while (count < 5);
The body of a do loop executes at least once
The do Statement
for (initialization ; condition ;
increment ){
statement;
}
The for Statement
The statement is
executed until the
condition becomes false
The increment portion is
executed at the end of each
iteration
The initialization
is executed once
before the loop begins
A forloop is functionally equivalent to the following
while loop structure:
initialization;
while ( condition ){
statement;
increment;
}
The for Statement
18.
An exampleof a for loop
for (int count=1; count <= 5; count++){
System.out.println (count);
}
• The initialization section can be used to declare a variable
• Like a while loop, the condition of a for loop is tested prior to
executing the loop body
• Therefore, the body of a for loop will execute zero or more times
The for Statement
19.
The incrementsection can perform any calculation
for (int num=100; num > 0; num -=
5){
System.out.println (num);
}
A for loop is well suited for executing statements
a specific number of times that can be calculated
or determined in advance
The for Statement
20.
Each expressionin the header of a for loop is optional
If the initialization is left out, no initialization is performed
If the condition is left out, it is always considered to be true,
and therefore creates an infinite loop
We usually call this a “forever loop”
If the increment is left out, no increment operation is
performed
The for Statement
21.
Remember thebreak keyword that we used to stop
a switch statement from executing more than one
statement?
break can also be used to exit an infinite loop
But it is almost always best to use a well-written
while loop
break revisited