Title: Control Structures
1Control Structures
2Sequential Execution
x keyBoard.nextInt()
statement
statement
y 2x - 3
statement
System.out.println(x)
System.out.println(y)
statement
3Selecting Execution Route
?
true
statement
false
if(?) statement
4Selecting Execution Route
?
true
statement _1
false
statement_2
if(?) statement_1else statement_2
5for Loops
Initializecounter
- Referred to as the counting loop
- Parts of a for-loop
- Initialize and declare counter section
- Test counter section
- Update counter section
- Loop body section
Test counter
false
true
statement
Updatecounter
6for Loops
for(initialize test update) body
for(initialize_variable test_variable
change_variable) //body of loop goes
here
7while loop
8//display all divisors of a given positive
integer //N positive integer //d is a divisor
of N input N d 1 while d less than or equal
to N if(d divides evenly into N)
print d increment d by one
9input N d 1 while d less than or equal to N
if(d divides evenly into N) print d
increment d by one
Bench
Test N d d lt N? d divdes
N? output
10 1
yes yes 1
--------------------------------------------------
----------- 2 yes
yes 2 -----------------------------
-------------------------------- 3
yes no -
--------------------------------------------------
----------- 4 yes no
- --------------------------------
----------------------------- 5
yes yes 5
--------------------------------------------------
----------- 6 yes no
- --------------------------------
----------------------------- 7
yes no -
--------------------------------------------------
----------- 8 yes no
- --------------------------------
----------------------------- 9
yes no -
--------------------------------------------------
----------- 10 yes
yes 10 -----------------------------
-------------------------------- 11
no
10Contrasting Loops
j 1while(jlt5) System.out.println(Hello)
j j 1
for(int j1 jlt5 jj1) System.out.println(
Hello)
11Arithmetic Sequences
- a first term
- d common difference
- n number of terms
- Sequencea, ad, a2d, , a(n-1)d
12Code
outCnt 0 for(int k0 kltn k) if(outCnt
! 5) System.out.printf("5d", a kd)
else System.out.printf("n5d", a kd)
outCnt 0 outCnt
13Alternate Code
outCnt 0 for(int ka kltand kkd)
if(outCnt ! 5) System.out.printf("5d",
k) else System.out.printf("n5d",
k) outCnt 0 outCnt
14do-while Loops
- Bottom-test loop
- Always executesthe body at least once
- Loops until the Test? returns false
statement
Test?
true
false
15do-while Loops
do statementwhile(?)
Bottom-test loop
while(?) statement
Top-test loop
16Example
17Premature Loop Exit
- break
- Used to exit an enclosing loop statement
- Used to exit a switch statement
x keyBoard.nextInt()while(xlt100)
System.out.println(x) if(x 4 0)
break x x 7
18switch Statement
- Used in place of a series of if-else if-else ifs
- When the test produces an integer value
if(month1) else if(month2)
switch(month) case 1 break
case 2 case 3 break
default