Control structures ii

Ahmad Idrees
Ahmad IdreesStudent of Software engineer & SEO Consultant um Freelancing & Online marketing.
Chapter 5: Control StructuresChapter 5: Control Structures
IIII
JJavaava PProgramming:rogramming:
From Problem Analysis to Program Design,From Problem Analysis to Program Design,
Second EditionSecond Edition
2
Chapter Objectives
 Learn about repetition (looping) control structures.
 Explore how to construct and use count-controlled,
sentinel-controlled, flag-controlled, and EOF-
controlled repetition structures.
 Examine break and continue statements.
 Discover how to form and use nested control
structures.
3
Why Is Repetition Needed?
 There are many situations in which the same
statements need to be executed several times.
 Example:
 Formulas used to find average grades for
students in a class.
4
The while Looping (Repetition) Structure
 Syntax:
while (expression)
statement
 Expression is always true in an infinite loop.
 Statements must change value of expression to false.
5
The while Looping (Repetition) Structure
Example 5-1
i = 0; //Line 1
while (i <= 20) //Line 2
{
System.out.print(i + " "); //Line 3
i = i + 5; //Line 4
}
System.out.println(); //Line 5
Output
0 5 10 15 20
6
The while Looping (Repetition) Structure
Typically, while loops are written in the following form:
//initialize the loop control variable(s)
while (expression) //expression tests the LCV
{
.
.
.
//update the loop control variable(s)
.
.
.
}
7
Counter-Controlled while Loop
 Used when exact number of data or entry pieces is
known.
 General form:
int N = //value input by user or specified
//in program
int counter = 0;
while (counter < N)
{
.
.
.
counter++;
.
.
.
}
8
Sentinel-Controlled while Loop
 Used when exact number of entry pieces is unknown, but
last entry (special/sentinel value) is known.
 General form:
Input the first data item into variable;
while (variable != sentinel)
{
.
.
.
input a data item into variable;
.
.
.
}
9
Flag-Controlled while Loop
 Boolean value used to control loop.
 General form:
boolean found = false;
while (!found)
{
.
.
.
if (expression)
found = true;
.
.
.
}
10
EOF(End of File)-Controlled while Loop
 Used when input is from files.
 Sentinel value is not always appropriate.
 In an EOF-controlled while loop that uses the Scanner
object console to input data, console acts at the
loop control variable.
 The method hasNext, of the class Scanner,
returns true if there is an input in the input stream;
otherwise, it returns false.
 The expression console.hasNext() acts as the
loop condition.
 Expressions such as console.nextInt() update the
value of the loop condition.
11
EOF-Controlled while Loop
 A general form of the EOF-controlled while loop
that uses the Scanner object console to input
data is:
while (console.hasNext())
{
//Get the next input and store in an
//appropriate variable
//Process data
}
12
EOF-Controlled while Loop
 Suppose that inFile is a Scanner object
initialized to the input file. In this case, the EOF-
controlled while loop takes the following form:
while (inFile.hasNext())
{
//Get the next input and store in an
//appropriate variable
//Process data
}
13
Programming Example: Checking
Account Balance
 Input file: Customer’s account number, account
balance at beginning of month, transaction type
(withdrawal, deposit, interest), transaction amount.
 Output: Account number, beginning balance, ending
balance, total interest paid, total amount deposited,
number of deposits, total amount withdrawn,
number of withdrawals.
14
Programming Example: Checking
Account Balance
 Solution:
 Read data.
 EOF-controlled loop.
 switch structure of transaction types.
 Determine action (add to balance or subtract
from balance depending on transaction type).
15
Programming Example:
Fibonacci Number
 Fibonacci formula for any Fibonacci sequence:
an
= an-1
+ an-2
 Input: First two Fibonacci numbers in sequence,
position in sequence of desired Fibonacci number (n).
 int previous1 = Fibonacci number 1
 int previous2 = Fibonacci number 2
 int nthFibonacci = Position of nth Fibonacci number
 Output: nth Fibonacci number.
16
Programming Example: Fibonacci Number (Solution)
if (nthFibonacci == 1)
current = previous1;
else if (nthFibonacci == 2)
current = previous2;
else
{
counter = 3;
while (counter <= nthFibonacci)
{
current = previous2 + previous1;
previous1 = previous2;
previous2 = current;
counter++;
}
}
17
The for Looping (Repetition) Structure
 Specialized form of while loop.
 Simplifies the writing of count-controlled loops.
 Syntax:
for (initial statement; loop condition;
update statement)
statement
18
The for Looping (Repetition) Structure
 Execution:
 Initial statement executes.
 Loop condition is evaluated.
 If loop condition evaluates to true, execute for
loop statement and execute update statement.
 Repeat until loop condition is false.
19
The for Looping (Repetition) Structure
Example 5-8
The following for loop prints the first 10
nonnegative integers:
for (i = 0; i < 10; i++)
System.out.print(i + " ");
System.out.println();
20
The for Looping (Repetition) Structure
Example 5-9
1. The following for loop outputs the word Hello and a star (on
separate lines) five times:
for (i = 1; i <= 5; i++)
{
System.out.println("Hello");
System.out.println("*");
}
2. The following for loop outputs the word Hello five times and the
star only once:
for (i = 1; i <= 5; i++)
System.out.println("Hello");
System.out.println("*");
21
The for Looping (Repetition) Structure
 Does not execute if initial condition is false.
 Update expression changes value of loop control
variable, eventually making it false.
 If loop condition is always true, result is an infinite
loop.
 Infinite loop can be specified by omitting all three
control statements.
 If loop condition is omitted, it is assumed to be
true.
 for statement ending in semicolon is empty.
22
Programming Example: Classify
Numbers
 Input: N integers (positive, negative, and zeros).
int N = 20; //N easily modified
 Output: Number of 0s, number of even integers,
number of odd integers.
23
Programming Example: Classify Numbers
(Solution)
for (counter = 1; counter <= N; counter++)
{
number = console.nextInt();
System.out.print(number + " ");
switch (number % 2)
{
case 0: evens++;
if (number == 0)
zeros++;
break;
case 1:
case -1: odds++;
} //end switch
} //end for loop
24
The do…while Loop (Repetition)
Structure
 Syntax:
do
statement
while (expression);
 Statements are executed first and then expression is
evaluated.
 Statements are executed at least once and then
continued if expression is true.
25
do…while Loop (Post-Test Loop)
26
break Statements
 Used to exit early from a loop.
 Used to skip remainder of switch structure.
 Can be placed within if statement of a loop.
 If condition is met, loop is exited immediately.
27
continue Statements
 Used in while, for, and do...while structures.
 When executed in a loop, the remaining statements
in the loop are skipped; proceeds with the next
iteration of the loop.
 When executed in a while/do…while structure,
expression is evaluated immediately after continue
statement.
 In a for structure, the update statement is executed
after the continue statement; the loop condition
then executes.
28
Nested Control Structures
 Provides new power, subtlety, and complexity.
 if, if…else, and switch structures can be
placed within while loops.
 for loops can be found within other for loops.
29
Nested Control Structures (Example)
for (int i = 1; i <= 5; i++)
{
for (int j = 1; j <= i; j++)
System.out.print(" *");
System.out.println();
}
Output:
*
**
***
****
*****
30
Chapter Summary
 Looping mechanisms:
 Counter-controlled while loop
 Sentinel-controlled while loop
 Flag-controlled while loop
 EOF-controlled while loop
 for loop
 do…while loop
 break statements
 continue statements
 Nested control structures
1 von 30

Recomendados

04 control structures 1 von
04 control structures 104 control structures 1
04 control structures 1Jomel Penalba
4K views58 Folien
Control structures in C++ Programming Language von
Control structures in C++ Programming LanguageControl structures in C++ Programming Language
Control structures in C++ Programming LanguageAhmad Idrees
7.3K views34 Folien
Control structures i von
Control structures i Control structures i
Control structures i Ahmad Idrees
3.2K views33 Folien
Control structure C++ von
Control structure C++Control structure C++
Control structure C++Anil Kumar
18.1K views38 Folien
The Three Basic Selection Structures in C++ Programming Concepts von
The Three Basic Selection Structures in C++ Programming ConceptsThe Three Basic Selection Structures in C++ Programming Concepts
The Three Basic Selection Structures in C++ Programming ConceptsTech
9.4K views25 Folien
Control Structures von
Control StructuresControl Structures
Control StructuresGhaffar Khan
14.7K views22 Folien

Más contenido relacionado

Was ist angesagt?

Control Structures: Part 1 von
Control Structures: Part 1Control Structures: Part 1
Control Structures: Part 1Andy Juan Sarango Veliz
143 views40 Folien
Repetition Structure von
Repetition StructureRepetition Structure
Repetition StructurePRN USM
4.8K views29 Folien
Control statements in java programmng von
Control statements in java programmngControl statements in java programmng
Control statements in java programmngSavitribai Phule Pune University
227 views25 Folien
Control and conditional statements von
Control and conditional statementsControl and conditional statements
Control and conditional statementsrajshreemuthiah
3.1K views19 Folien
Chapter 2 : Programming with Java Statements von
Chapter 2 : Programming with Java StatementsChapter 2 : Programming with Java Statements
Chapter 2 : Programming with Java StatementsIt Academy
1.1K views105 Folien
Control statement-Selective von
Control statement-SelectiveControl statement-Selective
Control statement-SelectiveNurul Zakiah Zamri Tan
4.2K views12 Folien

Was ist angesagt?(20)

Repetition Structure von PRN USM
Repetition StructureRepetition Structure
Repetition Structure
PRN USM4.8K views
Control and conditional statements von rajshreemuthiah
Control and conditional statementsControl and conditional statements
Control and conditional statements
rajshreemuthiah3.1K views
Chapter 2 : Programming with Java Statements von It Academy
Chapter 2 : Programming with Java StatementsChapter 2 : Programming with Java Statements
Chapter 2 : Programming with Java Statements
It Academy1.1K views
Control structures in Java von Ravi_Kant_Sahu
Control structures in JavaControl structures in Java
Control structures in Java
Ravi_Kant_Sahu27.3K views
Introduction to Selection control structures in C++ von Neeru Mittal
Introduction to Selection control structures in C++ Introduction to Selection control structures in C++
Introduction to Selection control structures in C++
Neeru Mittal1.8K views
Java conditional statements von Kuppusamy P
Java conditional statementsJava conditional statements
Java conditional statements
Kuppusamy P2.1K views
M C6java6 von mbruggen
M C6java6M C6java6
M C6java6
mbruggen324 views
Loops and conditional statements von Saad Sheikh
Loops and conditional statementsLoops and conditional statements
Loops and conditional statements
Saad Sheikh7.6K views
Control Structures in Visual Basic von Tushar Jain
Control Structures in  Visual BasicControl Structures in  Visual Basic
Control Structures in Visual Basic
Tushar Jain24.9K views
C Programming: Control Structure von Sokngim Sa
C Programming: Control StructureC Programming: Control Structure
C Programming: Control Structure
Sokngim Sa14.1K views
Control Structures in Python von Sumit Satam
Control Structures in PythonControl Structures in Python
Control Structures in Python
Sumit Satam14K views

Destacado

Whats new in IIB v9 + Open Beta v10 GSE von
Whats new in IIB v9 + Open Beta v10 GSEWhats new in IIB v9 + Open Beta v10 GSE
Whats new in IIB v9 + Open Beta v10 GSEDominic Storey
1.7K views43 Folien
Basic characteristics of business von
Basic characteristics of businessBasic characteristics of business
Basic characteristics of businessAhmad Idrees
7.3K views21 Folien
Basics of c++ Programming Language von
Basics of c++ Programming LanguageBasics of c++ Programming Language
Basics of c++ Programming LanguageAhmad Idrees
47.8K views78 Folien
C++ Programming Language von
C++ Programming Language C++ Programming Language
C++ Programming Language Benha University
9.5K views117 Folien
System outputs - Computer System von
System outputs - Computer SystemSystem outputs - Computer System
System outputs - Computer SystemAhmad Idrees
979 views44 Folien
Effective writing, tips for Bloggers von
Effective writing, tips for BloggersEffective writing, tips for Bloggers
Effective writing, tips for BloggersAhmad Idrees
717 views13 Folien

Destacado(20)

Whats new in IIB v9 + Open Beta v10 GSE von Dominic Storey
Whats new in IIB v9 + Open Beta v10 GSEWhats new in IIB v9 + Open Beta v10 GSE
Whats new in IIB v9 + Open Beta v10 GSE
Dominic Storey1.7K views
Basic characteristics of business von Ahmad Idrees
Basic characteristics of businessBasic characteristics of business
Basic characteristics of business
Ahmad Idrees7.3K views
Basics of c++ Programming Language von Ahmad Idrees
Basics of c++ Programming LanguageBasics of c++ Programming Language
Basics of c++ Programming Language
Ahmad Idrees47.8K views
System outputs - Computer System von Ahmad Idrees
System outputs - Computer SystemSystem outputs - Computer System
System outputs - Computer System
Ahmad Idrees979 views
Effective writing, tips for Bloggers von Ahmad Idrees
Effective writing, tips for BloggersEffective writing, tips for Bloggers
Effective writing, tips for Bloggers
Ahmad Idrees717 views
Principle of marketing von Ahmad Idrees
Principle of marketing Principle of marketing
Principle of marketing
Ahmad Idrees4K views
What is computer Introduction to Computing von Ahmad Idrees
What is computer Introduction  to Computing What is computer Introduction  to Computing
What is computer Introduction to Computing
Ahmad Idrees8K views
Whats new in IBM MQ; V9 LTS, V9.0.1 CD and V9.0.2 CD von David Ware
Whats new in IBM MQ; V9 LTS, V9.0.1 CD and V9.0.2 CDWhats new in IBM MQ; V9 LTS, V9.0.1 CD and V9.0.2 CD
Whats new in IBM MQ; V9 LTS, V9.0.1 CD and V9.0.2 CD
David Ware3.3K views
Strategic planning and mission statement von Ahmad Idrees
Strategic planning and mission statement Strategic planning and mission statement
Strategic planning and mission statement
Ahmad Idrees904 views
Basic elements of java von Ahmad Idrees
Basic elements of java Basic elements of java
Basic elements of java
Ahmad Idrees9K views
Basic qualities of a good businessman von Ahmad Idrees
Basic qualities of a good businessmanBasic qualities of a good businessman
Basic qualities of a good businessman
Ahmad Idrees11.9K views
Introduction to objects and inputoutput von Ahmad Idrees
Introduction to objects and inputoutput Introduction to objects and inputoutput
Introduction to objects and inputoutput
Ahmad Idrees1.3K views
An overview of computers and programming languages von Ahmad Idrees
An overview of computers and programming languages An overview of computers and programming languages
An overview of computers and programming languages
Ahmad Idrees2.1K views
Python in Computer Vision von Brian Thorne
Python in Computer VisionPython in Computer Vision
Python in Computer Vision
Brian Thorne11.9K views
Intro. to prog. c++ von KurdGul
Intro. to prog. c++Intro. to prog. c++
Intro. to prog. c++
KurdGul16.7K views
Basic c++ programs von harman kaur
Basic c++ programsBasic c++ programs
Basic c++ programs
harman kaur16.3K views

Similar a Control structures ii

Iterative control structures, looping, types of loops, loop working von
Iterative control structures, looping, types of loops, loop workingIterative control structures, looping, types of loops, loop working
Iterative control structures, looping, types of loops, loop workingNeeru Mittal
3.8K views69 Folien
Chap05 von
Chap05Chap05
Chap05Terry Yoast
488 views33 Folien
Loops c++ von
Loops c++Loops c++
Loops c++Shivani Singh
17.5K views40 Folien
Iteration von
IterationIteration
IterationLiam Dunphy
9.5K views29 Folien
06.Loops von
06.Loops06.Loops
06.LoopsIntro C# Book
27K views58 Folien
PM1 von
PM1PM1
PM1ra na
66 views18 Folien

Similar a Control structures ii (20)

Iterative control structures, looping, types of loops, loop working von Neeru Mittal
Iterative control structures, looping, types of loops, loop workingIterative control structures, looping, types of loops, loop working
Iterative control structures, looping, types of loops, loop working
Neeru Mittal3.8K views
PM1 von ra na
PM1PM1
PM1
ra na66 views
Loops in c language von Tanmay Modi
Loops in c languageLoops in c language
Loops in c language
Tanmay Modi369 views
Loops in c language von tanmaymodi4
Loops in c languageLoops in c language
Loops in c language
tanmaymodi4874 views
Python for Machine Learning von Student
Python for Machine LearningPython for Machine Learning
Python for Machine Learning
Student256 views
04a intro while von hasfaa1017
04a intro while04a intro while
04a intro while
hasfaa1017497 views
Looping statements von Jaya Kumari
Looping statementsLooping statements
Looping statements
Jaya Kumari172 views
Java loops for, while and do...while von Jayfee Ramos
Java loops   for, while and do...whileJava loops   for, while and do...while
Java loops for, while and do...while
Jayfee Ramos247 views
9781439035665 ppt ch05 von Terry Yoast
9781439035665 ppt ch059781439035665 ppt ch05
9781439035665 ppt ch05
Terry Yoast940 views

Más de Ahmad Idrees

Marketing research links consumer von
Marketing research links consumer Marketing research links consumer
Marketing research links consumer Ahmad Idrees
933 views18 Folien
Marketing mix and 4 p's von
Marketing mix and 4 p's Marketing mix and 4 p's
Marketing mix and 4 p's Ahmad Idrees
19.7K views11 Folien
Managing marketing information von
Managing marketing information Managing marketing information
Managing marketing information Ahmad Idrees
3.1K views43 Folien
Swot analysis Marketing Principle von
Swot analysis Marketing Principle Swot analysis Marketing Principle
Swot analysis Marketing Principle Ahmad Idrees
3.1K views15 Folien
C++ programming program design including data structures von
C++ programming program design including data structures C++ programming program design including data structures
C++ programming program design including data structures Ahmad Idrees
2.6K views51 Folien
Top 40 seo myths everyone should know about von
Top 40 seo myths everyone should know aboutTop 40 seo myths everyone should know about
Top 40 seo myths everyone should know aboutAhmad Idrees
293 views40 Folien

Más de Ahmad Idrees(6)

Marketing research links consumer von Ahmad Idrees
Marketing research links consumer Marketing research links consumer
Marketing research links consumer
Ahmad Idrees933 views
Marketing mix and 4 p's von Ahmad Idrees
Marketing mix and 4 p's Marketing mix and 4 p's
Marketing mix and 4 p's
Ahmad Idrees19.7K views
Managing marketing information von Ahmad Idrees
Managing marketing information Managing marketing information
Managing marketing information
Ahmad Idrees3.1K views
Swot analysis Marketing Principle von Ahmad Idrees
Swot analysis Marketing Principle Swot analysis Marketing Principle
Swot analysis Marketing Principle
Ahmad Idrees3.1K views
C++ programming program design including data structures von Ahmad Idrees
C++ programming program design including data structures C++ programming program design including data structures
C++ programming program design including data structures
Ahmad Idrees2.6K views
Top 40 seo myths everyone should know about von Ahmad Idrees
Top 40 seo myths everyone should know aboutTop 40 seo myths everyone should know about
Top 40 seo myths everyone should know about
Ahmad Idrees293 views

Último

JQUERY.pdf von
JQUERY.pdfJQUERY.pdf
JQUERY.pdfArthyR3
96 views22 Folien
Retail Store Scavenger Hunt.pptx von
Retail Store Scavenger Hunt.pptxRetail Store Scavenger Hunt.pptx
Retail Store Scavenger Hunt.pptxjmurphy154
47 views10 Folien
Classification of crude drugs.pptx von
Classification of crude drugs.pptxClassification of crude drugs.pptx
Classification of crude drugs.pptxGayatriPatra14
104 views13 Folien
unidad 3.pdf von
unidad 3.pdfunidad 3.pdf
unidad 3.pdfMarcosRodriguezUcedo
122 views38 Folien
A-Level Art von
A-Level ArtA-Level Art
A-Level ArtWestHatch
48 views82 Folien
UNIDAD 3 6º C.MEDIO.pptx von
UNIDAD 3 6º C.MEDIO.pptxUNIDAD 3 6º C.MEDIO.pptx
UNIDAD 3 6º C.MEDIO.pptxMarcosRodriguezUcedo
139 views32 Folien

Último(20)

JQUERY.pdf von ArthyR3
JQUERY.pdfJQUERY.pdf
JQUERY.pdf
ArthyR396 views
Retail Store Scavenger Hunt.pptx von jmurphy154
Retail Store Scavenger Hunt.pptxRetail Store Scavenger Hunt.pptx
Retail Store Scavenger Hunt.pptx
jmurphy15447 views
Classification of crude drugs.pptx von GayatriPatra14
Classification of crude drugs.pptxClassification of crude drugs.pptx
Classification of crude drugs.pptx
GayatriPatra14104 views
Relationship of psychology with other subjects. von palswagata2003
Relationship of psychology with other subjects.Relationship of psychology with other subjects.
Relationship of psychology with other subjects.
palswagata200377 views
The basics - information, data, technology and systems.pdf von JonathanCovena1
The basics - information, data, technology and systems.pdfThe basics - information, data, technology and systems.pdf
The basics - information, data, technology and systems.pdf
JonathanCovena1156 views
GCSE Geography von WestHatch
GCSE GeographyGCSE Geography
GCSE Geography
WestHatch47 views
Pharmaceutical Inorganic chemistry UNIT-V Radiopharmaceutical.pptx von Ms. Pooja Bhandare
Pharmaceutical Inorganic chemistry UNIT-V Radiopharmaceutical.pptxPharmaceutical Inorganic chemistry UNIT-V Radiopharmaceutical.pptx
Pharmaceutical Inorganic chemistry UNIT-V Radiopharmaceutical.pptx
Ms. Pooja Bhandare120 views
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx von ISSIP
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptxEIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx
ISSIP407 views
Class 9 lesson plans von TARIQ KHAN
Class 9 lesson plansClass 9 lesson plans
Class 9 lesson plans
TARIQ KHAN53 views
Monthly Information Session for MV Asterix (November) von Esquimalt MFRC
Monthly Information Session for MV Asterix (November)Monthly Information Session for MV Asterix (November)
Monthly Information Session for MV Asterix (November)
Esquimalt MFRC91 views
AUDIENCE - BANDURA.pptx von iammrhaywood
AUDIENCE - BANDURA.pptxAUDIENCE - BANDURA.pptx
AUDIENCE - BANDURA.pptx
iammrhaywood131 views
Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant... von Ms. Pooja Bhandare
Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant...Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant...
Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant...
Ms. Pooja Bhandare166 views
Create a Structure in VBNet.pptx von Breach_P
Create a Structure in VBNet.pptxCreate a Structure in VBNet.pptx
Create a Structure in VBNet.pptx
Breach_P80 views

Control structures ii

  • 1. Chapter 5: Control StructuresChapter 5: Control Structures IIII JJavaava PProgramming:rogramming: From Problem Analysis to Program Design,From Problem Analysis to Program Design, Second EditionSecond Edition
  • 2. 2 Chapter Objectives  Learn about repetition (looping) control structures.  Explore how to construct and use count-controlled, sentinel-controlled, flag-controlled, and EOF- controlled repetition structures.  Examine break and continue statements.  Discover how to form and use nested control structures.
  • 3. 3 Why Is Repetition Needed?  There are many situations in which the same statements need to be executed several times.  Example:  Formulas used to find average grades for students in a class.
  • 4. 4 The while Looping (Repetition) Structure  Syntax: while (expression) statement  Expression is always true in an infinite loop.  Statements must change value of expression to false.
  • 5. 5 The while Looping (Repetition) Structure Example 5-1 i = 0; //Line 1 while (i <= 20) //Line 2 { System.out.print(i + " "); //Line 3 i = i + 5; //Line 4 } System.out.println(); //Line 5 Output 0 5 10 15 20
  • 6. 6 The while Looping (Repetition) Structure Typically, while loops are written in the following form: //initialize the loop control variable(s) while (expression) //expression tests the LCV { . . . //update the loop control variable(s) . . . }
  • 7. 7 Counter-Controlled while Loop  Used when exact number of data or entry pieces is known.  General form: int N = //value input by user or specified //in program int counter = 0; while (counter < N) { . . . counter++; . . . }
  • 8. 8 Sentinel-Controlled while Loop  Used when exact number of entry pieces is unknown, but last entry (special/sentinel value) is known.  General form: Input the first data item into variable; while (variable != sentinel) { . . . input a data item into variable; . . . }
  • 9. 9 Flag-Controlled while Loop  Boolean value used to control loop.  General form: boolean found = false; while (!found) { . . . if (expression) found = true; . . . }
  • 10. 10 EOF(End of File)-Controlled while Loop  Used when input is from files.  Sentinel value is not always appropriate.  In an EOF-controlled while loop that uses the Scanner object console to input data, console acts at the loop control variable.  The method hasNext, of the class Scanner, returns true if there is an input in the input stream; otherwise, it returns false.  The expression console.hasNext() acts as the loop condition.  Expressions such as console.nextInt() update the value of the loop condition.
  • 11. 11 EOF-Controlled while Loop  A general form of the EOF-controlled while loop that uses the Scanner object console to input data is: while (console.hasNext()) { //Get the next input and store in an //appropriate variable //Process data }
  • 12. 12 EOF-Controlled while Loop  Suppose that inFile is a Scanner object initialized to the input file. In this case, the EOF- controlled while loop takes the following form: while (inFile.hasNext()) { //Get the next input and store in an //appropriate variable //Process data }
  • 13. 13 Programming Example: Checking Account Balance  Input file: Customer’s account number, account balance at beginning of month, transaction type (withdrawal, deposit, interest), transaction amount.  Output: Account number, beginning balance, ending balance, total interest paid, total amount deposited, number of deposits, total amount withdrawn, number of withdrawals.
  • 14. 14 Programming Example: Checking Account Balance  Solution:  Read data.  EOF-controlled loop.  switch structure of transaction types.  Determine action (add to balance or subtract from balance depending on transaction type).
  • 15. 15 Programming Example: Fibonacci Number  Fibonacci formula for any Fibonacci sequence: an = an-1 + an-2  Input: First two Fibonacci numbers in sequence, position in sequence of desired Fibonacci number (n).  int previous1 = Fibonacci number 1  int previous2 = Fibonacci number 2  int nthFibonacci = Position of nth Fibonacci number  Output: nth Fibonacci number.
  • 16. 16 Programming Example: Fibonacci Number (Solution) if (nthFibonacci == 1) current = previous1; else if (nthFibonacci == 2) current = previous2; else { counter = 3; while (counter <= nthFibonacci) { current = previous2 + previous1; previous1 = previous2; previous2 = current; counter++; } }
  • 17. 17 The for Looping (Repetition) Structure  Specialized form of while loop.  Simplifies the writing of count-controlled loops.  Syntax: for (initial statement; loop condition; update statement) statement
  • 18. 18 The for Looping (Repetition) Structure  Execution:  Initial statement executes.  Loop condition is evaluated.  If loop condition evaluates to true, execute for loop statement and execute update statement.  Repeat until loop condition is false.
  • 19. 19 The for Looping (Repetition) Structure Example 5-8 The following for loop prints the first 10 nonnegative integers: for (i = 0; i < 10; i++) System.out.print(i + " "); System.out.println();
  • 20. 20 The for Looping (Repetition) Structure Example 5-9 1. The following for loop outputs the word Hello and a star (on separate lines) five times: for (i = 1; i <= 5; i++) { System.out.println("Hello"); System.out.println("*"); } 2. The following for loop outputs the word Hello five times and the star only once: for (i = 1; i <= 5; i++) System.out.println("Hello"); System.out.println("*");
  • 21. 21 The for Looping (Repetition) Structure  Does not execute if initial condition is false.  Update expression changes value of loop control variable, eventually making it false.  If loop condition is always true, result is an infinite loop.  Infinite loop can be specified by omitting all three control statements.  If loop condition is omitted, it is assumed to be true.  for statement ending in semicolon is empty.
  • 22. 22 Programming Example: Classify Numbers  Input: N integers (positive, negative, and zeros). int N = 20; //N easily modified  Output: Number of 0s, number of even integers, number of odd integers.
  • 23. 23 Programming Example: Classify Numbers (Solution) for (counter = 1; counter <= N; counter++) { number = console.nextInt(); System.out.print(number + " "); switch (number % 2) { case 0: evens++; if (number == 0) zeros++; break; case 1: case -1: odds++; } //end switch } //end for loop
  • 24. 24 The do…while Loop (Repetition) Structure  Syntax: do statement while (expression);  Statements are executed first and then expression is evaluated.  Statements are executed at least once and then continued if expression is true.
  • 26. 26 break Statements  Used to exit early from a loop.  Used to skip remainder of switch structure.  Can be placed within if statement of a loop.  If condition is met, loop is exited immediately.
  • 27. 27 continue Statements  Used in while, for, and do...while structures.  When executed in a loop, the remaining statements in the loop are skipped; proceeds with the next iteration of the loop.  When executed in a while/do…while structure, expression is evaluated immediately after continue statement.  In a for structure, the update statement is executed after the continue statement; the loop condition then executes.
  • 28. 28 Nested Control Structures  Provides new power, subtlety, and complexity.  if, if…else, and switch structures can be placed within while loops.  for loops can be found within other for loops.
  • 29. 29 Nested Control Structures (Example) for (int i = 1; i <= 5; i++) { for (int j = 1; j <= i; j++) System.out.print(" *"); System.out.println(); } Output: * ** *** **** *****
  • 30. 30 Chapter Summary  Looping mechanisms:  Counter-controlled while loop  Sentinel-controlled while loop  Flag-controlled while loop  EOF-controlled while loop  for loop  do…while loop  break statements  continue statements  Nested control structures