SlideShare a Scribd company logo
Fundamentals of (Java) 
Programming 
Khirulnizam Abd Rahman 
0129034614 (WhatsApp/SMS) 
Khirulnizam@gmail.com 
KERUL.net
About Khirulnizam 
 Lecturer of Computer Science, Faculty of Information 
Science and Technology, Selangor International Islamic 
University College (KUIS) – since 2000. 
 Codes in blog.kerul.net 
 Programming background: C, Java, PHP. 
 Apps in Google Play 
 M-Mathurat – 200K ( bit.ly/m-mathurat ) 
 Peribahasa Dictionary – 20K ( bit.ly/pbahasa) 
 mDictionary – open-sourced ( bit.ly/m-dictionary ) 
 Hijrah Rasul – bit.ly/hijrah-rasul 
 SmartSolat – bit.ly/smartsolat 
 Apps in Windows Store 
 Hijrah Rasul – bit.ly/hijrah-en 
 Peribahasa Dictionary 
2 http://blog.kerul.net 28/11/2014
Course Synopsis 
This course is the continuation of the previous course 
(Algorithm and Problem Solving). It introduces 
complex flow control, method, array, class design, file 
and file I/O. 
Objectives: At the end of this course, students 
should be able to; 
 write and apply complex control structure. 
 create and invoke methods in programs. 
 declare, create and apply arrays and classes. 
 retrieve from and write data into another file. 
Java Programming: From Problem Analysis to 
3 Program Design, 3e
Assessment 
Java Programming: From Problem Analysis to 
4 Program Design, 3e
Main Text 
 Liang Y. Daniel. Introduction to Java 
Programming, Eight Edition, 2011, Pearson 
 F. Joyce. Java Programming, 6th Edition, 2011, 
Course Technology 
 Tool: JDK & Eclipse Java IDE 
Java Programming: From Problem Analysis to 
5 Program Design, 3e
Control Structure I
Control Structures 
 A computer can process a program in three(3) 
ways : 
 Sequence (line by line) 
 Selection or choice (branch) 
 Repetition
Sequence Structure 
 Start at the beginning and follows the statement 
in order. 
start 
statement1 
statement2 
… 
Statement-n 
End
Selection Structure 
 Statement executions is depending on one or 
more condition 
start 
statement1 
statement3 Fcondition T 
statement2 
Statement-n 
End
Repetition Structure 
 Same statement is repeated in a number of times 
depending on one or more condition. 
start 
statement1 
statement2 
condition 
Statement-n 
End 
T 
F
Conditional Expression 
 Consider the following statement 
If (score is greater than or equal to 90) 
grade is A 
If (temperature is greater than 50) 
display “Its Hot” 
Conditional 
expression 
Grade is A only if 
score >=90 
Display Its Hot 
only if the 
temperature > 50
Logical Expression 
Write the logical expression for the following 
1. yourAge is greater than 50. 
2. The value of myAge is not 0. 
3. y is between 20 and 100 
4. height is between 1.5 and 2.0.
Logical Expression 
Use Logical & comparison operator to construct 
the 
logical expression 
1. yourAge > 50 
2. myAge != 0 
3. y > 20 && y <100 
4. height > 1.5 && height < 2.0.
Logical Expression 
Evaluate the following expression. Given x is 5 
and y is 200. 
1. x != 12 
2. y < 100 
3. x == 5 
4. y == x*40 
5. x >=5 && x <=5 
6. y == 200 || y ==100 
7. x == 10 || x != 5
Logical Expression 
Evaluate the following expression. Given x is 5 
and y is 200. 
1. x != 12 
2. y < 100 
3. x == 5 
4. y == x*40 
5. x >=5 && x <=5 
6. y == 200 || y ==100 
7. x == 10 || x != 5
Selection Structure 
 There are 2 types of Selection 
Structure 
If statement 
Switch statement
Selection Structure – If Statement 
 There are 3 types of if statement 
One-way selection : if 
Two-way selection : if - else 
Multiple-way selection : if – else if 
- else
If Statement : One-Way IF 
 The Syntax 
If (condition) 
statement; 
if (condition) 
{ 
statement1; 
statement2; 
} 
Only one 
statement 
More than 
one 
statement
If Statement : One-Way If 
If (condition) 
statement1; 
statement2; 
T F 
If (mark > 50) 
F 
System.out.println(“GOOD!!”); 
System.out.println(“THANK YOU”); 
Output : 
THANK YOU 
Mark = 34
If Statement : One-Way If 
If (condition) 
statement1; 
statement2; 
T F 
If (mark > 50) 
Mark = 60 
T 
System.out.println(“GOOD!!”); 
System.out.println(“THANK YOU”); 
Output : 
GOOD!! 
THANK YOU
If Statement : One-Way If 
If (mark > 50){ 
Mark = 45 
F 
System.out.println(“GOOD!!”); 
System.out.println(“GRAGE = A!!”); 
} 
System.out.println(“THANK YOU”); 
Output : 
THANK YOU
If Statement : One-Way If 
If (mark > 50){ 
Mark = 60 
T 
System.out.println(“GOOD!!”); 
System.out.println(“GRAGE = A!!”); 
} 
System.out.println(“THANK YOU”); 
Output : 
GOOD!! 
GRADE = A 
THANK YOU
If Statement : Two-Way IF 
 The Syntax 
if (condition) 
statement1; 
else 
statement2; 
statement3; 
Only one statement 
for each
If Statement : Two-Way IF 
 The Syntax 
if (score > 50) 
F Mark = 34 
System.out.println(“GOOD!!”); 
else 
System.out.println(“BAD!!”); 
System.out.println(“THANK YOU”); 
Output : 
BAD!! 
THANK YOU
If Statement : Two-Way IF 
 The Syntax 
if (score > 50) 
T Mark = 60 
System.out.println(“GOOD!!”); 
else 
System.out.println(“BAD!!”); 
System.out.println(“THANK YOU”); 
Output : 
GOOD!! 
THANK YOU
If Statement : Two-Way IF 
 The Syntax 
if (condition) 
{ 
statement1; 
statement2; 
} 
else 
{ 
Statement3; 
Statement4; 
} 
Statement5; 
More than one 
statement
If Statement : Two-Way IF 
 The Syntax 
if (score > 50){ 
T Mark = 60 
System.out.println(“GOOD!!”); 
System.out.println(“GRADE = A!!”);} 
else 
System.out.println(“BAD!!”); 
System.out.println(“THANK YOU”); 
Output : 
GOOD!! 
GRADE = A 
THANK YOU
If Statement : Two-Way IF 
 The Syntax 
if (score > 50){ 
F Mark = 40 
System.out.println(“GOOD!!”); 
System.out.println(“GRADE = A!!”);} 
else 
System.out.println(“BAD!!”); 
System.out.println(“THANK YOU”); 
Output : 
BAD!! 
THANK YOU
If Statement : Multiple-Way IF 
 The Syntax 
if (condition) 
statement1; 
else if (condition){ 
statement2; 
statement3;} 
else if (condition) 
statement4; 
else if (condition) 
statement5; 
else { 
statement6; 
statement7;} 
Use braces if there 
are more than one 
statement in a group
If Statement : Multiple-Way IF 
 The Syntax 
if (mark > 70) 
grade = “A”; 
else if (mark > 60 && mark <= 70){ 
grade = “B”; 
mark = mark + 3;} 
else if (mark > 50 && mark <=60) 
grade = “C”; 
else if (mark > 35 && mark <=50) 
grade = “D”; 
else { 
grade = “F” 
message = “FAIL!!!”} 
Don’t use 
60 < mark <=70 x
Output : 
Grade = F 
If Statement : Multiple-Way IF 
if (mark > 70) 
grade = “A”; 
F Mark = 34? 
F 
else if (mark > 60 && mark <= 70){ 
grade = “B”; 
mark = mark + 3;} 
F 
else if (mark > 50 && mark <=60) 
grade = “C”; 
else if (mark > 35 && mark <=50) 
grade = “D”; 
else { 
grade = “F” 
message = “FAIL!!!”} 
T 
System.out.println(“Grade = “ + grade);
If Statement : Multiple-Way IF 
if (mark > 70) 
grade = “A”; 
F Mark = 65? 
T 
else if (mark > 60 && mark <= 70){ 
grade = “B”; 
mark = mark + 3;} 
else if (mark > 50 && mark <=60) 
grade = “C”; 
else if (mark > 35 && mark <=50) 
grade = “D”; 
else { 
grade = “F” 
message = “FAIL!!!”} 
Output : 
Grade = B 
System.out.println(“Grade = “ + grade);
Selection Structure : Switch 
switch(expression) { //start switch 
case value1: 
statement1; 
break; 
case value2: 
statement2; 
statement3; 
break; 
case value3: 
statement4; 
break; 
… 
default: 
statement-n; 
} // end switch 
use colon 
not semicolon
Selection Structure : Switch 
switch(month) { //start switch 
case 1: 
Name = “January”; 
break; 
case 2: 
name = “February”; 
break; 
case 3: 
name = “March”; 
break; 
… 
default: 
name = “ Not available”; 
} // end switch 
System,out.println(“Month = “ + name); 
Month = 2 
F 
T
C1 - COMPLEX FLOW 
CONTROL 
FUNDAMENTALS OF PROGRAMMING 
DTCP 2023
NESTED IF STATEMENT 
SYNTAX 
if (Boolean_Expression_1) 
if (Boolean_Expression_2) 
Statement_1) 
else 
Statement_2
Nested Statements 
 Subtly different forms 
First Form 
if (a > b) 
{ 
if (c > d) 
e = f 
} 
else 
g = h; 
Second Form 
if (a > b) 
if (c > d) 
e = f 
else 
g = h; 
// oops
What is the output? Any difference??? 
if ( x < y) 
if (x < z) 
System.out.println("Hello"); 
else 
System.out.println("Good bye"); 
if ( x < y){ 
if (x < z) 
System.out.println("Hello"); 
}else 
Good bye 
System.out.println("Good bye"); 
Nested if statement 
No output 
given
The Nested-if Statement 
 The then and else block of an if statement can contain 
any valid statements, including other if statements. An 
if statement containing another if statement is called a 
nested-if statement. 
39 
if (testScore >= 70) { 
if (studentAge < 10) { 
System.out.println("You did a great job"); 
} else { 
System.out.println("You did pass"); //test score >= 70 
} //and age >= 10 
} else { //test score < 70 
System.out.println("You did not pass"); 
}
Control Flow of Nested-if Statement 
messageBox.show 
("You did not 
pass"); 
40 
false 
inner if 
false 
testScore >= 
70 ? 
messageBox.show 
("You did pass"); 
true 
studentAge < 
10 ? 
true 
messageBox.show 
("You did a great 
job");
Nested if-else Statements 
 An if-else statement can contain any sort of 
statement within it. 
 In particular, it can contain another if-else 
statement. 
 An if-else may be nested within the "if" part. 
 An if-else may be nested within the "else" part. 
 An if-else may be nested within both parts.
Nested Statements 
 Syntax 
if (Boolean_Expression_1) 
if (Boolean_Expression_2) 
Statement_1) 
else 
Statement_2) 
else 
if (Boolean_Expression_3) 
Statement_3) 
else 
Statement_4);
Nested Statements 
 Each else is paired with the nearest unmatched 
if. 
 If used properly, indentation communicates which 
if goes with which else. 
 Braces can be used like parentheses to group 
statements.
TRACE THE OUTPUT 
public class test{ 
public static void main(String[] args){ 
int a=4; 
for (int i=1; i<a;i++ ){ 
for (int j=1; j<=i;j++ ){ 
System.out.print("*"); 
} 
System.out.println(""); 
} 
} 
* 
** 
***
EXERCISE 
 Construct a simple program that apply nested if else 
statement follow the rules given. 
Score Grade 
90 <= score A 
80 <= score < 90 B 
70 <= score < 80 C 
60 <= score < 70 D 
Score < 60 F 
 Example: 
If student score is 99 then display the grade which is 
A to student.
46 
Nested if Statements 
 The statement executed as a result of an if 
statement or else clause could be another if 
statement 
 These are called nested if statements 
 See MinOfThree.java (page 227) 
 An else clause is matched to the last unmatched 
if (no matter what the indentation implies) 
 Braces can be used to specify the if statement 
to which an else clause belongs
Nested Control Structures 
 for loops can be found within other for loops 
47
Example 1 
for (int i = 1; i <= 5; i++) 
{ 
for (int j = 1; j <= i; j++) 
System.out.print(" *"); 
System.out.println(); 
} 
48 
Output: 
* 
** 
*** 
**** 
*****
Example 2 
 What will be the value of after each of the 
following nested loops is executed? 
for (int i = 1; i < 4; i++){ 
for (int j = 1; j < 4-i; j++){ 
System.out.print(" *"); 
} System.out.println(); 
} 
49 
Output: 
** 
*
Example 3 
 What will be the value of after each of the 
following nested loops is executed? 
int sum = 0; 
for (int i = 0; i<=2; i++) 
{ for (int j = 0; j<=2; j++) 
{ sum = sum + i; 
} 
}System.out.println(sum); 
50 
Output: 
9
Example 4 
 What does the following program segment print? 
for (int f = 0; f < 3; ++f){ 
for (int g = 0; g < 2; ++g){ 
System.out.print(f); 
System.out.print(g); 
} 
} 
51 
Output: 
000110112021
Nested Loops 
 Suppose you wanted to print the following 
table: 
for (int row = 1; row <= 4; row++) { // For each of 4 rows 
for (int col = 1; col <= 9; col++) // For each of 9 columns 
System.out.print(col * row + "t"); // Print 36 numbers 
System.out.println(); // Start a new row 
} // for row 
1 2 3 4 5 6 7 8 9 
2 4 6 8 10 12 14 16 18 
3 6 9 12 15 18 21 24 27 
4 8 12 16 20 24 28 32 36 
• You could use a nested for loop. The outer loop 
prints the four rows and in each row, the inner loop 
prints the 9 columns.
Nested Loops (cont.) 
 The table shows the relationship between the 
row and column variables needed to print the 
following triangular pattern: 
# # # # # 
# # # # 
# # # 
# # 
# 
• You could use the following nested for loop. 
for (int row = 1; row <= 5; row++) { // For each row 
for (int col = 1; col <= 6 - row; col++) // Print the row 
System.out.print('#'); 
System.out.println(); // And a new row 
} // for row 
Row Column Bound 
(6 – Row) 
Number of 
Symbols 
1 6-1 5 
2 6-2 4 
3 6-3 3 
4 6-4 2 
5 6-5 1
54 
The Nested-for Statement 
 Nesting a for statement inside another for statement is 
commonly used technique in programming. 
 Let’s generate the following table using nested-for 
statement.
55 
Generating the Table 
int price; 
for (int width = 11; width <=20, width++){ 
for (int length = 5, length <=25, length+=5){ 
price = width * length * 19; //$19 per sq. ft. 
System.out.print (“ “ + price); 
} 
//finished one row; move on to next row 
System.out.println(“”); 
INNER 
} 
OUTER

More Related Content

What's hot (20)

PPTX
Queuing theory
Abu Bashar
 
PPTX
Data Structure and Algorithm - Divide and Conquer
Laguna State Polytechnic University
 
PDF
Online examination system
Rahul Khanwani
 
PPTX
Big m method
Luckshay Batra
 
PPTX
Introduction to Linear programing.ORpptx
aishaashraf31
 
PPTX
Designing Techniques in Software Engineering
kirupasuchi1996
 
PDF
Problem Solving and Python Programming
MahaJeya
 
PPTX
Chapter 1 2 - some size factors
NancyBeaulah_R
 
PPTX
Structure of the compiler
Sudhaa Ravi
 
PDF
An Overview of Simple Linear Regression
Georgian Court University
 
PPTX
سلسلة ماركوف Markov chain
Ehab Saad Ahmad
 
PPT
3.2 The design model & Architectural design.ppt
THARUNS44
 
PPTX
Ch13-Software Engineering 9
Ian Sommerville
 
PPTX
Static analysis
GowriLatha1
 
ODP
White box ppt
Chintakunta Hariteja
 
PDF
Software engineering lecture notes
Siva Ayyakutti
 
PPT
Ramsey theory
Tapas Kumar Mishra
 
PDF
Interference with High level language.pdf
ARslan Ahmad
 
PPTX
GAUSS ELIMINATION METHOD
reach2arkaELECTRICAL
 
PDF
Cyclomatic complexity
Nikita Kesharwani
 
Queuing theory
Abu Bashar
 
Data Structure and Algorithm - Divide and Conquer
Laguna State Polytechnic University
 
Online examination system
Rahul Khanwani
 
Big m method
Luckshay Batra
 
Introduction to Linear programing.ORpptx
aishaashraf31
 
Designing Techniques in Software Engineering
kirupasuchi1996
 
Problem Solving and Python Programming
MahaJeya
 
Chapter 1 2 - some size factors
NancyBeaulah_R
 
Structure of the compiler
Sudhaa Ravi
 
An Overview of Simple Linear Regression
Georgian Court University
 
سلسلة ماركوف Markov chain
Ehab Saad Ahmad
 
3.2 The design model & Architectural design.ppt
THARUNS44
 
Ch13-Software Engineering 9
Ian Sommerville
 
Static analysis
GowriLatha1
 
White box ppt
Chintakunta Hariteja
 
Software engineering lecture notes
Siva Ayyakutti
 
Ramsey theory
Tapas Kumar Mishra
 
Interference with High level language.pdf
ARslan Ahmad
 
GAUSS ELIMINATION METHOD
reach2arkaELECTRICAL
 
Cyclomatic complexity
Nikita Kesharwani
 

Similar to Chapter 1 nested control structures (20)

PPT
Chapter 1 Nested Control Structures
Khirulnizam Abd Rahman
 
PPT
Selection Control Structures
PRN USM
 
PPT
Visula C# Programming Lecture 3
Abou Bakr Ashraf
 
PPT
The Three Basic Selection Structures in C++ Programming Concepts
Tech
 
PPTX
Python for Beginners(v2)
Panimalar Engineering College
 
PDF
ICP - Lecture 7 and 8
Hassaan Rahman
 
PPTX
week 3 Programming lecture 05 (1) j.pptx
ZainabNoor83
 
PPT
Lecture 3
Soran University
 
PPT
M C6java5
mbruggen
 
PPTX
Cs1123 5 selection_if
TAlha MAlik
 
PPTX
6 Control Structures-1.pptxAAAAAAAAAAAAAAAAAAAAA
EG20910848921ISAACDU
 
PPT
Control statments in c
CGC Technical campus,Mohali
 
PPT
Java căn bản - Chapter5
Vince Vo
 
PPTX
control statements of clangauge (ii unit)
Prashant Sharma
 
PPTX
Pi j1.3 operators
mcollison
 
PPT
cpphtp4_PPT_02.ppt
Suleman Khan
 
PPTX
JPC#8 Introduction to Java Programming
Pathomchon Sriwilairit
 
PPTX
Chapter 4.4
sotlsoc
 
PPTX
C Unit-2.ppt
Giri383500
 
PPTX
Control Structures.pptx
ssuserfb3c3e
 
Chapter 1 Nested Control Structures
Khirulnizam Abd Rahman
 
Selection Control Structures
PRN USM
 
Visula C# Programming Lecture 3
Abou Bakr Ashraf
 
The Three Basic Selection Structures in C++ Programming Concepts
Tech
 
Python for Beginners(v2)
Panimalar Engineering College
 
ICP - Lecture 7 and 8
Hassaan Rahman
 
week 3 Programming lecture 05 (1) j.pptx
ZainabNoor83
 
Lecture 3
Soran University
 
M C6java5
mbruggen
 
Cs1123 5 selection_if
TAlha MAlik
 
6 Control Structures-1.pptxAAAAAAAAAAAAAAAAAAAAA
EG20910848921ISAACDU
 
Control statments in c
CGC Technical campus,Mohali
 
Java căn bản - Chapter5
Vince Vo
 
control statements of clangauge (ii unit)
Prashant Sharma
 
Pi j1.3 operators
mcollison
 
cpphtp4_PPT_02.ppt
Suleman Khan
 
JPC#8 Introduction to Java Programming
Pathomchon Sriwilairit
 
Chapter 4.4
sotlsoc
 
C Unit-2.ppt
Giri383500
 
Control Structures.pptx
ssuserfb3c3e
 
Ad

More from Khirulnizam Abd Rahman (20)

PPTX
Html5 + Bootstrap & Mobirise
Khirulnizam Abd Rahman
 
PPTX
Mobile Web App development multiplatform using phonegap-cordova
Khirulnizam Abd Rahman
 
PPTX
Android app development hybrid approach for beginners - Tools Installations ...
Khirulnizam Abd Rahman
 
PPT
Chapter 6 Java IO File
Khirulnizam Abd Rahman
 
PPT
Chapter 5 Class File
Khirulnizam Abd Rahman
 
PPT
Chapter 4 - Classes in Java
Khirulnizam Abd Rahman
 
PPTX
Android app development Hybrid approach for beginners
Khirulnizam Abd Rahman
 
PPTX
Tips menyediakan slaid pembentangan berkesan - tiada template
Khirulnizam Abd Rahman
 
PPT
Chapter 3 Arrays in Java
Khirulnizam Abd Rahman
 
PPTX
Topik 4 Teknologi Komputer: Hardware, Software dan Heartware
Khirulnizam Abd Rahman
 
PPT
Chapter 2 Java Methods
Khirulnizam Abd Rahman
 
PPTX
Topik 3 Masyarakat Malaysia dan ICT
Khirulnizam Abd Rahman
 
PPT
Chapter 2 Method in Java OOP
Khirulnizam Abd Rahman
 
PPTX
Topik 2 Sejarah Perkembanggan Ilmu NBWU1072
Khirulnizam Abd Rahman
 
DOCX
Panduan tugasan Makmal Teknologi Maklumat dalam Kehidupan Insan
Khirulnizam Abd Rahman
 
PPTX
Topik 1 Islam dan Teknologi Maklumat
Khirulnizam Abd Rahman
 
PDF
Application of Ontology in Semantic Information Retrieval by Prof Shahrul Azm...
Khirulnizam Abd Rahman
 
PDF
DTCP2023 Fundamentals of Programming
Khirulnizam Abd Rahman
 
PDF
Npwu-mpu 3252 Teknologi Maklumat dalam Kehidupan Insan
Khirulnizam Abd Rahman
 
PPTX
Simple skeleton of a review paper
Khirulnizam Abd Rahman
 
Html5 + Bootstrap & Mobirise
Khirulnizam Abd Rahman
 
Mobile Web App development multiplatform using phonegap-cordova
Khirulnizam Abd Rahman
 
Android app development hybrid approach for beginners - Tools Installations ...
Khirulnizam Abd Rahman
 
Chapter 6 Java IO File
Khirulnizam Abd Rahman
 
Chapter 5 Class File
Khirulnizam Abd Rahman
 
Chapter 4 - Classes in Java
Khirulnizam Abd Rahman
 
Android app development Hybrid approach for beginners
Khirulnizam Abd Rahman
 
Tips menyediakan slaid pembentangan berkesan - tiada template
Khirulnizam Abd Rahman
 
Chapter 3 Arrays in Java
Khirulnizam Abd Rahman
 
Topik 4 Teknologi Komputer: Hardware, Software dan Heartware
Khirulnizam Abd Rahman
 
Chapter 2 Java Methods
Khirulnizam Abd Rahman
 
Topik 3 Masyarakat Malaysia dan ICT
Khirulnizam Abd Rahman
 
Chapter 2 Method in Java OOP
Khirulnizam Abd Rahman
 
Topik 2 Sejarah Perkembanggan Ilmu NBWU1072
Khirulnizam Abd Rahman
 
Panduan tugasan Makmal Teknologi Maklumat dalam Kehidupan Insan
Khirulnizam Abd Rahman
 
Topik 1 Islam dan Teknologi Maklumat
Khirulnizam Abd Rahman
 
Application of Ontology in Semantic Information Retrieval by Prof Shahrul Azm...
Khirulnizam Abd Rahman
 
DTCP2023 Fundamentals of Programming
Khirulnizam Abd Rahman
 
Npwu-mpu 3252 Teknologi Maklumat dalam Kehidupan Insan
Khirulnizam Abd Rahman
 
Simple skeleton of a review paper
Khirulnizam Abd Rahman
 
Ad

Recently uploaded (20)

PPTX
Neurodivergent Friendly Schools - Slides from training session
Pooky Knightsmith
 
PPTX
How to Manage Large Scrollbar in Odoo 18 POS
Celine George
 
PPTX
I AM MALALA The Girl Who Stood Up for Education and was Shot by the Taliban...
Beena E S
 
PPTX
Cultivation practice of Litchi in Nepal.pptx
UmeshTimilsina1
 
PDF
ARAL-Orientation_Morning-Session_Day-11.pdf
JoelVilloso1
 
PDF
Exploring the Different Types of Experimental Research
Thelma Villaflores
 
PPTX
2025 Winter SWAYAM NPTEL & A Student.pptx
Utsav Yagnik
 
PPT
Talk on Critical Theory, Part II, Philosophy of Social Sciences
Soraj Hongladarom
 
PPTX
MENINGITIS: NURSING MANAGEMENT, BACTERIAL MENINGITIS, VIRAL MENINGITIS.pptx
PRADEEP ABOTHU
 
PDF
ARAL_Orientation_Day-2-Sessions_ARAL-Readung ARAL-Mathematics ARAL-Sciencev2.pdf
JoelVilloso1
 
PDF
Generative AI: it's STILL not a robot (CIJ Summer 2025)
Paul Bradshaw
 
PDF
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 - GLOBAL SUCCESS - CẢ NĂM - NĂM 2024 (VOCABULARY, ...
Nguyen Thanh Tu Collection
 
PPTX
How to Convert an Opportunity into a Quotation in Odoo 18 CRM
Celine George
 
PPTX
Growth and development and milestones, factors
BHUVANESHWARI BADIGER
 
PDF
The History of Phone Numbers in Stoke Newington by Billy Thomas
History of Stoke Newington
 
PDF
The Different Types of Non-Experimental Research
Thelma Villaflores
 
PPTX
How to Handle Salesperson Commision in Odoo 18 Sales
Celine George
 
PDF
Reconstruct, Restore, Reimagine: New Perspectives on Stoke Newington’s Histor...
History of Stoke Newington
 
PPTX
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
PDF
Biological Bilingual Glossary Hindi and English Medium
World of Wisdom
 
Neurodivergent Friendly Schools - Slides from training session
Pooky Knightsmith
 
How to Manage Large Scrollbar in Odoo 18 POS
Celine George
 
I AM MALALA The Girl Who Stood Up for Education and was Shot by the Taliban...
Beena E S
 
Cultivation practice of Litchi in Nepal.pptx
UmeshTimilsina1
 
ARAL-Orientation_Morning-Session_Day-11.pdf
JoelVilloso1
 
Exploring the Different Types of Experimental Research
Thelma Villaflores
 
2025 Winter SWAYAM NPTEL & A Student.pptx
Utsav Yagnik
 
Talk on Critical Theory, Part II, Philosophy of Social Sciences
Soraj Hongladarom
 
MENINGITIS: NURSING MANAGEMENT, BACTERIAL MENINGITIS, VIRAL MENINGITIS.pptx
PRADEEP ABOTHU
 
ARAL_Orientation_Day-2-Sessions_ARAL-Readung ARAL-Mathematics ARAL-Sciencev2.pdf
JoelVilloso1
 
Generative AI: it's STILL not a robot (CIJ Summer 2025)
Paul Bradshaw
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 - GLOBAL SUCCESS - CẢ NĂM - NĂM 2024 (VOCABULARY, ...
Nguyen Thanh Tu Collection
 
How to Convert an Opportunity into a Quotation in Odoo 18 CRM
Celine George
 
Growth and development and milestones, factors
BHUVANESHWARI BADIGER
 
The History of Phone Numbers in Stoke Newington by Billy Thomas
History of Stoke Newington
 
The Different Types of Non-Experimental Research
Thelma Villaflores
 
How to Handle Salesperson Commision in Odoo 18 Sales
Celine George
 
Reconstruct, Restore, Reimagine: New Perspectives on Stoke Newington’s Histor...
History of Stoke Newington
 
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
Biological Bilingual Glossary Hindi and English Medium
World of Wisdom
 

Chapter 1 nested control structures

  • 1. Fundamentals of (Java) Programming Khirulnizam Abd Rahman 0129034614 (WhatsApp/SMS) [email protected] KERUL.net
  • 2. About Khirulnizam  Lecturer of Computer Science, Faculty of Information Science and Technology, Selangor International Islamic University College (KUIS) – since 2000.  Codes in blog.kerul.net  Programming background: C, Java, PHP.  Apps in Google Play  M-Mathurat – 200K ( bit.ly/m-mathurat )  Peribahasa Dictionary – 20K ( bit.ly/pbahasa)  mDictionary – open-sourced ( bit.ly/m-dictionary )  Hijrah Rasul – bit.ly/hijrah-rasul  SmartSolat – bit.ly/smartsolat  Apps in Windows Store  Hijrah Rasul – bit.ly/hijrah-en  Peribahasa Dictionary 2 http://blog.kerul.net 28/11/2014
  • 3. Course Synopsis This course is the continuation of the previous course (Algorithm and Problem Solving). It introduces complex flow control, method, array, class design, file and file I/O. Objectives: At the end of this course, students should be able to;  write and apply complex control structure.  create and invoke methods in programs.  declare, create and apply arrays and classes.  retrieve from and write data into another file. Java Programming: From Problem Analysis to 3 Program Design, 3e
  • 4. Assessment Java Programming: From Problem Analysis to 4 Program Design, 3e
  • 5. Main Text  Liang Y. Daniel. Introduction to Java Programming, Eight Edition, 2011, Pearson  F. Joyce. Java Programming, 6th Edition, 2011, Course Technology  Tool: JDK & Eclipse Java IDE Java Programming: From Problem Analysis to 5 Program Design, 3e
  • 7. Control Structures  A computer can process a program in three(3) ways :  Sequence (line by line)  Selection or choice (branch)  Repetition
  • 8. Sequence Structure  Start at the beginning and follows the statement in order. start statement1 statement2 … Statement-n End
  • 9. Selection Structure  Statement executions is depending on one or more condition start statement1 statement3 Fcondition T statement2 Statement-n End
  • 10. Repetition Structure  Same statement is repeated in a number of times depending on one or more condition. start statement1 statement2 condition Statement-n End T F
  • 11. Conditional Expression  Consider the following statement If (score is greater than or equal to 90) grade is A If (temperature is greater than 50) display “Its Hot” Conditional expression Grade is A only if score >=90 Display Its Hot only if the temperature > 50
  • 12. Logical Expression Write the logical expression for the following 1. yourAge is greater than 50. 2. The value of myAge is not 0. 3. y is between 20 and 100 4. height is between 1.5 and 2.0.
  • 13. Logical Expression Use Logical & comparison operator to construct the logical expression 1. yourAge > 50 2. myAge != 0 3. y > 20 && y <100 4. height > 1.5 && height < 2.0.
  • 14. Logical Expression Evaluate the following expression. Given x is 5 and y is 200. 1. x != 12 2. y < 100 3. x == 5 4. y == x*40 5. x >=5 && x <=5 6. y == 200 || y ==100 7. x == 10 || x != 5
  • 15. Logical Expression Evaluate the following expression. Given x is 5 and y is 200. 1. x != 12 2. y < 100 3. x == 5 4. y == x*40 5. x >=5 && x <=5 6. y == 200 || y ==100 7. x == 10 || x != 5
  • 16. Selection Structure  There are 2 types of Selection Structure If statement Switch statement
  • 17. Selection Structure – If Statement  There are 3 types of if statement One-way selection : if Two-way selection : if - else Multiple-way selection : if – else if - else
  • 18. If Statement : One-Way IF  The Syntax If (condition) statement; if (condition) { statement1; statement2; } Only one statement More than one statement
  • 19. If Statement : One-Way If If (condition) statement1; statement2; T F If (mark > 50) F System.out.println(“GOOD!!”); System.out.println(“THANK YOU”); Output : THANK YOU Mark = 34
  • 20. If Statement : One-Way If If (condition) statement1; statement2; T F If (mark > 50) Mark = 60 T System.out.println(“GOOD!!”); System.out.println(“THANK YOU”); Output : GOOD!! THANK YOU
  • 21. If Statement : One-Way If If (mark > 50){ Mark = 45 F System.out.println(“GOOD!!”); System.out.println(“GRAGE = A!!”); } System.out.println(“THANK YOU”); Output : THANK YOU
  • 22. If Statement : One-Way If If (mark > 50){ Mark = 60 T System.out.println(“GOOD!!”); System.out.println(“GRAGE = A!!”); } System.out.println(“THANK YOU”); Output : GOOD!! GRADE = A THANK YOU
  • 23. If Statement : Two-Way IF  The Syntax if (condition) statement1; else statement2; statement3; Only one statement for each
  • 24. If Statement : Two-Way IF  The Syntax if (score > 50) F Mark = 34 System.out.println(“GOOD!!”); else System.out.println(“BAD!!”); System.out.println(“THANK YOU”); Output : BAD!! THANK YOU
  • 25. If Statement : Two-Way IF  The Syntax if (score > 50) T Mark = 60 System.out.println(“GOOD!!”); else System.out.println(“BAD!!”); System.out.println(“THANK YOU”); Output : GOOD!! THANK YOU
  • 26. If Statement : Two-Way IF  The Syntax if (condition) { statement1; statement2; } else { Statement3; Statement4; } Statement5; More than one statement
  • 27. If Statement : Two-Way IF  The Syntax if (score > 50){ T Mark = 60 System.out.println(“GOOD!!”); System.out.println(“GRADE = A!!”);} else System.out.println(“BAD!!”); System.out.println(“THANK YOU”); Output : GOOD!! GRADE = A THANK YOU
  • 28. If Statement : Two-Way IF  The Syntax if (score > 50){ F Mark = 40 System.out.println(“GOOD!!”); System.out.println(“GRADE = A!!”);} else System.out.println(“BAD!!”); System.out.println(“THANK YOU”); Output : BAD!! THANK YOU
  • 29. If Statement : Multiple-Way IF  The Syntax if (condition) statement1; else if (condition){ statement2; statement3;} else if (condition) statement4; else if (condition) statement5; else { statement6; statement7;} Use braces if there are more than one statement in a group
  • 30. If Statement : Multiple-Way IF  The Syntax if (mark > 70) grade = “A”; else if (mark > 60 && mark <= 70){ grade = “B”; mark = mark + 3;} else if (mark > 50 && mark <=60) grade = “C”; else if (mark > 35 && mark <=50) grade = “D”; else { grade = “F” message = “FAIL!!!”} Don’t use 60 < mark <=70 x
  • 31. Output : Grade = F If Statement : Multiple-Way IF if (mark > 70) grade = “A”; F Mark = 34? F else if (mark > 60 && mark <= 70){ grade = “B”; mark = mark + 3;} F else if (mark > 50 && mark <=60) grade = “C”; else if (mark > 35 && mark <=50) grade = “D”; else { grade = “F” message = “FAIL!!!”} T System.out.println(“Grade = “ + grade);
  • 32. If Statement : Multiple-Way IF if (mark > 70) grade = “A”; F Mark = 65? T else if (mark > 60 && mark <= 70){ grade = “B”; mark = mark + 3;} else if (mark > 50 && mark <=60) grade = “C”; else if (mark > 35 && mark <=50) grade = “D”; else { grade = “F” message = “FAIL!!!”} Output : Grade = B System.out.println(“Grade = “ + grade);
  • 33. Selection Structure : Switch switch(expression) { //start switch case value1: statement1; break; case value2: statement2; statement3; break; case value3: statement4; break; … default: statement-n; } // end switch use colon not semicolon
  • 34. Selection Structure : Switch switch(month) { //start switch case 1: Name = “January”; break; case 2: name = “February”; break; case 3: name = “March”; break; … default: name = “ Not available”; } // end switch System,out.println(“Month = “ + name); Month = 2 F T
  • 35. C1 - COMPLEX FLOW CONTROL FUNDAMENTALS OF PROGRAMMING DTCP 2023
  • 36. NESTED IF STATEMENT SYNTAX if (Boolean_Expression_1) if (Boolean_Expression_2) Statement_1) else Statement_2
  • 37. Nested Statements  Subtly different forms First Form if (a > b) { if (c > d) e = f } else g = h; Second Form if (a > b) if (c > d) e = f else g = h; // oops
  • 38. What is the output? Any difference??? if ( x < y) if (x < z) System.out.println("Hello"); else System.out.println("Good bye"); if ( x < y){ if (x < z) System.out.println("Hello"); }else Good bye System.out.println("Good bye"); Nested if statement No output given
  • 39. The Nested-if Statement  The then and else block of an if statement can contain any valid statements, including other if statements. An if statement containing another if statement is called a nested-if statement. 39 if (testScore >= 70) { if (studentAge < 10) { System.out.println("You did a great job"); } else { System.out.println("You did pass"); //test score >= 70 } //and age >= 10 } else { //test score < 70 System.out.println("You did not pass"); }
  • 40. Control Flow of Nested-if Statement messageBox.show ("You did not pass"); 40 false inner if false testScore >= 70 ? messageBox.show ("You did pass"); true studentAge < 10 ? true messageBox.show ("You did a great job");
  • 41. Nested if-else Statements  An if-else statement can contain any sort of statement within it.  In particular, it can contain another if-else statement.  An if-else may be nested within the "if" part.  An if-else may be nested within the "else" part.  An if-else may be nested within both parts.
  • 42. Nested Statements  Syntax if (Boolean_Expression_1) if (Boolean_Expression_2) Statement_1) else Statement_2) else if (Boolean_Expression_3) Statement_3) else Statement_4);
  • 43. Nested Statements  Each else is paired with the nearest unmatched if.  If used properly, indentation communicates which if goes with which else.  Braces can be used like parentheses to group statements.
  • 44. TRACE THE OUTPUT public class test{ public static void main(String[] args){ int a=4; for (int i=1; i<a;i++ ){ for (int j=1; j<=i;j++ ){ System.out.print("*"); } System.out.println(""); } } * ** ***
  • 45. EXERCISE  Construct a simple program that apply nested if else statement follow the rules given. Score Grade 90 <= score A 80 <= score < 90 B 70 <= score < 80 C 60 <= score < 70 D Score < 60 F  Example: If student score is 99 then display the grade which is A to student.
  • 46. 46 Nested if Statements  The statement executed as a result of an if statement or else clause could be another if statement  These are called nested if statements  See MinOfThree.java (page 227)  An else clause is matched to the last unmatched if (no matter what the indentation implies)  Braces can be used to specify the if statement to which an else clause belongs
  • 47. Nested Control Structures  for loops can be found within other for loops 47
  • 48. Example 1 for (int i = 1; i <= 5; i++) { for (int j = 1; j <= i; j++) System.out.print(" *"); System.out.println(); } 48 Output: * ** *** **** *****
  • 49. Example 2  What will be the value of after each of the following nested loops is executed? for (int i = 1; i < 4; i++){ for (int j = 1; j < 4-i; j++){ System.out.print(" *"); } System.out.println(); } 49 Output: ** *
  • 50. Example 3  What will be the value of after each of the following nested loops is executed? int sum = 0; for (int i = 0; i<=2; i++) { for (int j = 0; j<=2; j++) { sum = sum + i; } }System.out.println(sum); 50 Output: 9
  • 51. Example 4  What does the following program segment print? for (int f = 0; f < 3; ++f){ for (int g = 0; g < 2; ++g){ System.out.print(f); System.out.print(g); } } 51 Output: 000110112021
  • 52. Nested Loops  Suppose you wanted to print the following table: for (int row = 1; row <= 4; row++) { // For each of 4 rows for (int col = 1; col <= 9; col++) // For each of 9 columns System.out.print(col * row + "t"); // Print 36 numbers System.out.println(); // Start a new row } // for row 1 2 3 4 5 6 7 8 9 2 4 6 8 10 12 14 16 18 3 6 9 12 15 18 21 24 27 4 8 12 16 20 24 28 32 36 • You could use a nested for loop. The outer loop prints the four rows and in each row, the inner loop prints the 9 columns.
  • 53. Nested Loops (cont.)  The table shows the relationship between the row and column variables needed to print the following triangular pattern: # # # # # # # # # # # # # # # • You could use the following nested for loop. for (int row = 1; row <= 5; row++) { // For each row for (int col = 1; col <= 6 - row; col++) // Print the row System.out.print('#'); System.out.println(); // And a new row } // for row Row Column Bound (6 – Row) Number of Symbols 1 6-1 5 2 6-2 4 3 6-3 3 4 6-4 2 5 6-5 1
  • 54. 54 The Nested-for Statement  Nesting a for statement inside another for statement is commonly used technique in programming.  Let’s generate the following table using nested-for statement.
  • 55. 55 Generating the Table int price; for (int width = 11; width <=20, width++){ for (int length = 5, length <=25, length+=5){ price = width * length * 19; //$19 per sq. ft. System.out.print (“ “ + price); } //finished one row; move on to next row System.out.println(“”); INNER } OUTER

Editor's Notes

  • #40: ©The McGraw-Hill Companies, Inc.
  • #41: ©The McGraw-Hill Companies, Inc.
  • #55: ©The McGraw-Hill Companies, Inc.
  • #56: ©The McGraw-Hill Companies, Inc.