Download presentation
Presentation is loading. Please wait.
Published byDenis Watkins Modified over 9 years ago
1
Chapter 4: Control Structures SELECTION STATEMENTS
2
Chapter Objectives Java Programming: From Problem Analysis to Program Design, D.S. Malik 2 Learn about control structures. Learn how to use the selection control structures if, if … else, and switch in a program. Learn about short-circuit evaluation Learn about loop statements
3
Control Structures Java Programming: From Problem Analysis to Program Design, D.S. Malik 3 Three methods of processing a program: – In sequence – Branching – Looping Branch: Altering the flow of program execution by making a selection or choice. Loop: Altering the flow of program execution by repeating statements.
4
Java Programming: From Problem Analysis to Program Design, D.S. Malik 4 Control Structures
5
Selection Java Programming: From Problem Analysis to Program Design, D.S. Malik 5 One-way selection Two-way selection Compound (block of) statements Multiple selections (nested if) Conditional operator switch structures
6
One-Way Selection Java Programming: From Problem Analysis to Program Design, D.S. Malik 6 Syntax: if (expression) statement Expression referred to as decision maker. Statement referred to as action statement.
7
Java Programming: From Problem Analysis to Program Design, D.S. Malik 7 Example 1 //Determine the absolute value of an integer import java.util.*; public class AbsoluteValue { static Scanner console = new Scanner (System.in); public static void main(String[] args) { int number, temp; System.out.println("Enter an integer:"); number = console.nextInt(); temp = number; if (number < 0) number = -number; System.out.println("The absolute value of " + temp + " is " + number); } } One-Way Selection
8
Short-Circuit Evaluation Java Programming: From Problem Analysis to Program Design, D.S. Malik 8 A process in which the computer evaluates a logical expression from left to right and stops as soon as the value of the expression is known. Example: (x>y) || (x==5) // if (x>y) is true, (x==5) is not evaluated (a==b) && (x>=7) // if (a==b) is false, (x>=7) is not evaluated (x>0) && ( (y = z*2) > 5) // if (x>0) is false, ((y = z*2) > 5) is not evaluated and the value of y will not change
9
Two-Way Selection Java Programming: From Problem Analysis to Program Design, D.S. Malik 9 Syntax: if (expression) statement1 else statement2 else statement must be paired with an if.
10
Two-Way Selection Java Programming: From Problem Analysis to Program Design, D.S. Malik 10
11
Two-Way Selection Java Programming: From Problem Analysis to Program Design, D.S. Malik 11 Example 4-13 if (hours > 40.0) wages = 40.0 * rate + 1.5 * rate * (hours - 40.0); else wages = hours * rate;
12
Two-Way Selection Java Programming: From Problem Analysis to Program Design, D.S. Malik 12 Example 4-14 //The following statement shows an example of a syntax error if (hours > 40.0); //Line 1 wages = 40.0 * rate + 1.5 * rate *(hours - 40.0); //Line 2 else //Line 3 wages = hours * rate; //Line 4 Because a semicolon follows the closing parenthesis of the if statement (Line 1), the else statement stands alone. The semicolon at the end of the if statement (see Line 1) ends the if statement. The statement at Line 2 separates the else clause from the if statement. That is, else is by itself. Because there is no separate else statement in Java, this code generates a syntax error.
13
Compound (Block of) Statements Java Programming: From Problem Analysis to Program Design, D.S. Malik 13 Syntax: { statement1 statement2. statementn }
14
Compound (Block of) Statements 14 if (age > 18) { System.out.println("Eligible to vote."); System.out.println("No longer a minor."); } else { System.out.println("Not eligible to vote."); System.out.println("Still a minor."); }
15
Multiple Selection: Nested if 15 Java Programming: From Problem Analysis to Program Design, D.S. Malik Syntax: if (expression1) statement1 else if (expression2) statement2 else statement3 Multiple if statements can be used if there is more than two alternatives else is associated with the most recent if that does not have an else.
16
Multiple Selection: Nested if Java Programming: From Problem Analysis to Program Design, D.S. Malik 16 Example 4-19 // Assume that score is of type int. Based on the value of score, the following code determines the grade if (score >= 90) System.out.println (“Grade is A”); else if (score >=80 ) System.out.println (“Grade is B”); else if (score >=70 ) System.out.println (“Grade is C”); else if (score >=60 ) System.out.println (“Grade is D”); else System.out.println (“Grade is F”);
17
Multiple Selection: Nested if Java Programming: From Problem Analysis to Program Design, D.S. Malik 17 Example 4-21 if( tempreture >= 50 ) if (tempreture >= 80) System.out.println (“Good swimming day”); else System.out.println (“Good golfing day”);
18
Multiple Selection: Nested if Java Programming: From Problem Analysis to Program Design, D.S. Malik 18 Example 4-20 if( tempreture >= 50 ) if (tempreture >= 80) System.out.println (“Good swimming day”); else System.out.println (“Good golfing day”); else System.out.println (“Good tennis day”);
19
Multiple Selection: Nested if Java Programming: From Problem Analysis to Program Design, D.S. Malik 19 Example 4-22 //The following code does not work as intended. For example if GPA=3.8 if ( GPA >= 2.0 ) if (GPA >= 3.9) System.out.println (“Dean Honor list”); else System.out.println (“GPA below graduation requirement”); -------------------------------------------------------------- //This is the correct way of writing the above code if ( GPA >= 2.0 ) { if (GPA >= 3.9) System.out.println (“Dean Honor list”); } else System.out.println (“GPA below graduation requirement”);
20
Conditional (? :) Operator Java Programming: From Problem Analysis to Program Design, D.S. Malik 20 Ternary operator Syntax: expression1 ? expression2 : expression3 If expression1 = true, then the result of the condition is expression2. Otherwise, the result of the condition is expression3.
21
Conditional (? :) Operator Java Programming: From Problem Analysis to Program Design, D.S. Malik 21 Example: int x = 5, y =3, min ; if (x< = y) min = x ; else min = y ; The above statement can be written using the conditional operator : min = ( x<= y ) ? x : y ;
22
Switch Structures Java Programming: From Problem Analysis to Program Design, D.S. Malik 22 Expression is also known as selector. Expression can be an identifier. Value can only be integral. switch (expression) { case value1: statements1 break; case value2: statements2 break;... case valuen: statementsn break; default: statements }
23
Switch With break Statements Java Programming: From Problem Analysis to Program Design, D.S. Malik 23 switch (N) { case 1: x = 10; break; case 2: x = 20; break; case 3: x = 30; break; } x = 10; false true N == 1 ? x = 20; x = 30; N == 2 ? N == 3 ? false true break;
24
Switch With No break Statements Java Programming: From Problem Analysis to Program Design, D.S. Malik 24 switch (N) { case 1: x = 10; case 2: x = 20; case 3: x = 30; } x = 10; false true N == 1 ? x = 20; x = 30; N == 2 ? N == 3 ? false true
25
Switch With Break And Default Statements Java Programming: From Problem Analysis to Program Design, D.S. Malik 25 Example 4-23 switch (grade) { case 'A': System.out.println("The grade is A."); break; case 'B': System.out.println("The grade is B."); break; case 'C': System.out.println("The grade is C."); break; case 'D': System.out.println("The grade is D."); break; case 'F': System.out.println("The grade is F."); break; default: System.out.println("The grade is invalid."); }
26
Switch With Break And Default Statements Java Programming: From Problem Analysis to Program Design, D.S. Malik 26 Example 4-23 switch (grade) { case 'A': System.out.println("The grade is A."); break; case 'B': System.out.println("The grade is B."); break; case 'C': System.out.println("The grade is C."); break; case 'D': System.out.println("The grade is D."); break; case 'F': System.out.println("The grade is F."); break; default: System.out.println("The grade is invalid."); }
27
Example 4-23 With Nested If Java Programming: From Problem Analysis to Program Design, D.S. Malik 27 if (grade == 'A') System.out.println("The grade is A."); else if (grade == 'B') System.out.println("The grade is B."); else if (grade == 'C') System.out.println("The grade is C."); else if (grade == 'D') System.out.println("The grade is D."); else if (grade == 'F') System.out.println("The grade is F."); else System.out.println("The grade is invalid.");
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.