decision structures
DESCRIPTION
Decision Structures. Lecture 3 MIT 12043, Fundamentals of Programming By: S. Sabraz Nawaz. Chapter Topics. Relational Operators The if Statement The if - else Statement Nested if statements The if - else - if Statement. Relational Operators. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/1.jpg)
Decision Structures
Lecture 3MIT 12043, Fundamentals of Programming
By: S. Sabraz Nawaz
![Page 2: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/2.jpg)
3-2
Chapter TopicsoRelational Operatorso The if Statemento The if-else StatementoNested if statementso The if-else-if Statement
MIT 12043, By S. Sabraz Nawaz
![Page 3: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/3.jpg)
Relational Operators• Relational operators in Java are used to compare two
variables. • Java provides six relational operators:
• The result of any relational operator is “true” or “false”
Equal ==Greater than >Less than <Greater than or equal to >=
Less than or equal to <=
Unequal !=
MIT 12043, By S. Sabraz Nawaz 3
![Page 4: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/4.jpg)
Boolean Expressions
int a = 3; b = 4;
a == b will evaluate to false
a != b will evaluate to true
a > b will evaluate to false
a < b will evaluate to true
a >= b will evaluate to false
a <= b will evaluate to true
MIT 12043, By S. Sabraz Nawaz 4
![Page 5: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/5.jpg)
Sequence Structure
MIT 12043, By S. Sabraz Nawaz 5
![Page 6: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/6.jpg)
Decision Structure• Programs often need more than one path of
execution, however. Many algorithms require a program to execute some statements only under certain circumstances. This can be accomplished with a decision structure
• In a decision structure’s simplest form, a specific action is taken only when a condition exists. If the condition does not exist, the action is not performed
MIT 12043, By S. Sabraz Nawaz 6
![Page 7: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/7.jpg)
Decision Structure…• Simple decision structure logic
MIT 12043, By S. Sabraz Nawaz 7
![Page 8: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/8.jpg)
Decision Structure…• Three-action decision structure logic
MIT 12043, By S. Sabraz Nawaz 8
![Page 9: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/9.jpg)
Selection Statements• The control statement that allows
alternative actions based upon conditions that are evaluated at run time are generally called selection statements
• One way to code a decision structure in Java is with the if statement
MIT 12043, By S. Sabraz Nawaz 9
![Page 10: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/10.jpg)
3-10
The if Statement• The if statement is used to create a decision
structure, which allows a program to have more than one path of execution. o The if statement causes one or more statements to execute only when
a boolean expression is true.• The if statement decides whether a section of
executes or not.
if (boolean expression is true)execute this statement;
MIT 12043, By S. Sabraz Nawaz
![Page 11: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/11.jpg)
3-11
The if Statement…
• A block if statement may be modeled as:
if (coldOutside)
{
wearCoat;
wearHat;
wearGloves;
}Note the use of curly
braces to block several
statements together.
MIT 12043, By S. Sabraz Nawaz
![Page 12: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/12.jpg)
3-12
if Statements and Boolean Expressions
if (x > y)System.out.println("X is greater than Y");
if(x == y)System.out.println("X is equal to Y");
if(x != y){
System.out.println("X is not equal to Y");x = y;System.out.println("However, now it is.");
}
MIT 12043, By S. Sabraz Nawaz
![Page 13: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/13.jpg)
3-13
Programming Style and if Statements
• An if statement can span more than one line; however, it is still one statement.
if (average > 95)
grade = ′A′;
is functionally equivalent to
if(average > 95) grade = ′A′;
MIT 12043, By S. Sabraz Nawaz
![Page 14: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/14.jpg)
3-14
Block if Statements• Conditionally executed statements can
be grouped into a block by using curly braces {} to enclose them.
• If curly braces are used to group conditionally executed statements, the if statement is ended by the closing curly brace.if (expression){statement1;statement2;
}Curly brace ends the statement.
MIT 12043, By S. Sabraz Nawaz
![Page 15: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/15.jpg)
3-15
Block if Statements
• Remember that when the curly braces are not used, then only the next statement after the if condition will be executed conditionally
if (expression)statement1;statement2;statement3;
Only this statement is conditionally executed.
MIT 12043, By S. Sabraz Nawaz
![Page 16: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/16.jpg)
Example 01• Write a Java program that takes a person’s age as
input and decides whether that person is eligible to vote
• If the person’s age is above 18, he or she is eligible to vote
• The program should display a message whether he or she is eligible to vote
MIT 12043, By S. Sabraz Nawaz 16
![Page 17: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/17.jpg)
Example 01…
MIT 12043, By S. Sabraz Nawaz 17
![Page 18: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/18.jpg)
Example 02• Write a Java program that takes a person’s age
and his or her name as inputs and decides whether that person is eligible to vote
• If the person’s age is above 18, he or she is eligible to vote
• The program should display a message with the Name of the person and his or eligibility to vote
MIT 12043, By S. Sabraz Nawaz 18
![Page 19: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/19.jpg)
Example 02
MIT 12043, By S. Sabraz Nawaz 19
![Page 20: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/20.jpg)
3-20
if-else Statements• The if-else statement adds the ability to
conditionally execute code when the if condition is false.
if (expression)statementOrBlockIfTrue;
elsestatementOrBlockIfFalse;
• It works the same way as the if statement except that, when the condition is false, the statement within the else clause executes
MIT 12043, By S. Sabraz Nawaz
![Page 21: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/21.jpg)
3-21
if-else Statement Flowcharts
Wear a coat.
YesIs it cold
outside?
Wear shorts.
No
MIT 12043, By S. Sabraz Nawaz
![Page 22: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/22.jpg)
Example 03• Write a Java program that takes a person’s age
and his or her name as inputs and decides whether that person is eligible to vote or not
• If the person’s age is above 18, he or she is eligible to vote
• The program should display a message with the Name of the person and his or eligibility to vote
MIT 12043, By S. Sabraz Nawaz 22
![Page 23: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/23.jpg)
Example 03…
MIT 12043, By S. Sabraz Nawaz 23
![Page 24: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/24.jpg)
Exercise• A company’s payment structure to its employees
is as followso If the Basic salary exceeds 30,000/=, the Dearness Allowance 40% the
BS, otherwise 50% of the BSo If the BS exceeds 25,000/=, the House Rent Allowance is 20% of the
BS, otherwise 3,000 of the BSo Income Tax is calculated at the rate of 12% if the Total Salary exceeds
50,000/=• Write a Java program that takes BS as input,
calculate DA, HRA, IT, Total Salary, Net Salary, and display them all on screen
MIT 12043, By S. Sabraz Nawaz 24
![Page 25: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/25.jpg)
Solution
MIT 12043, By S. Sabraz Nawaz 25
![Page 26: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/26.jpg)
Solution…
MIT 12043, By S. Sabraz Nawaz 26
![Page 27: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/27.jpg)
3-27
Nested if Statements• To test more than one condition, an if statement
can be nested inside another if statement
• If an if statement appears inside another if statement (single or block) it is called a nested if statement
• The nested if is executed only if the outer if statement results in a true condition
MIT 12043, By S. Sabraz Nawaz
![Page 28: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/28.jpg)
3-28
Alignment and Nested if Statements
if (expression)
{
if (expression)
{
statement;
}
else
{
statement;
}
}
else
{
statement;
}
This if and else
go together.This if and else
go together.
MIT 12043, By S. Sabraz Nawaz
![Page 29: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/29.jpg)
Example 04• For example, consider a banking program that
determines whether a bank customer qualifies for a special, low interest rate on a loan
• To qualify, two conditions must exist: 1. The customer’s salary must be at least Rs.30,0002. The customer must have held his or her current job for
at least 02 years
MIT 12043, By S. Sabraz Nawaz 29
![Page 30: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/30.jpg)
Example 04…
MIT 12043, By S. Sabraz Nawaz 30
![Page 31: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/31.jpg)
if-else-if
• The if-else-if statement tests a series of conditions
• It is often simpler to test a series of conditions with the if-else-if statement than with a set of nested if-else statements
MIT 12043, By S. Sabraz Nawaz 31
![Page 32: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/32.jpg)
3-32
if-else-if Syntaxif (expression_1){ statement; statement; etc.}else if (expression_2){ statement; statement; etc.} Insert as many else if clauses as necessary else{ statement; statement; etc.}
If expression_1 is true these statements are executed, and the rest of the structure is
ignored.
Otherwise, if expression_2 is true these statements are executed, and the rest of the structure is
ignored.
These statements are executed if none of the
expressions above are true.
MIT 12043, By S. Sabraz Nawaz
![Page 33: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/33.jpg)
Example 05• Your lecturer has asked you to write a program
that will allow a student to enter a test score and then display the grade for that score
MIT 12043, By S. Sabraz Nawaz 33
![Page 34: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/34.jpg)
34
![Page 35: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/35.jpg)
Logical Operators
MIT 12043, By S. Sabraz Nawaz 35
![Page 36: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/36.jpg)
Logical Operators• Logical operators connect two or more
relational expressions into one or reverse the logic of an expression.
• Java provides two binary logical operators, • && and ||• used to combine two boolean expressions into a single expression
• It also provides the unary ! Operatoro reverses the truth of a boolean expression
MIT 12043, By S. Sabraz Nawaz 36
![Page 37: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/37.jpg)
MIT 12043, By S. Sabraz Nawaz 37
Logical Operators…Operato
rMeaning Effect
&& AND Connects two boolean expressions into one. Both expression must be true for the overall expression to be true
|| OR Connects two boolean expressions into one. One or both expressions must be true for the overall expression to be true. It is only necessary for one to be true, and it does not matter which one.
! NOT Reverses the truth of a boolean expression. If it is applied to an expression that is true, the operator returns false. If it is applied to an expression that is false, the operator returns true
![Page 38: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/38.jpg)
Expression Meaningx > y && a < b
Is x greater than y AND is a less than b?
x == y || x == z
Is x equal to y OR is x equal to z?
!(x > y) Is the expression x > y NOT true?
MIT 12043, By S. Sabraz Nawaz 38
Logical Operators…
![Page 39: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/39.jpg)
Truth table for the && operator
Expression Value of the Expression
true && false false false && true false false && false false true && true true
MIT 12043, By S. Sabraz Nawaz 39
![Page 40: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/40.jpg)
Truth table for the ||operator
Expression Value of the Expression
true || false true false || true true false || false false true || true true
MIT 12043, By S. Sabraz Nawaz 40
![Page 41: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/41.jpg)
Truth table for the ! operator
Expression Value of the Expression
!true false !false true
MIT 12043, By S. Sabraz Nawaz 41
![Page 42: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/42.jpg)
Example 06 – Improved Ex 05
42
![Page 43: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/43.jpg)
43
![Page 44: Decision Structures](https://reader036.vdocuments.mx/reader036/viewer/2022062315/56816166550346895dd0eff9/html5/thumbnails/44.jpg)
Will be continue in next lecture…
MIT 12043, By S. Sabraz Nawaz 44