Selection Control Structures
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
188
On Slideshare
129
From Embeds
59
Number of Embeds
1

Actions

Shares
Downloads
4
Comments
0
Likes
0

Embeds 59

http://sotlsoc.net 59

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • Else is associated with the most recent incomplete if. <br /> Multiple if statements can be used in place of if…else statements. <br /> May take longer to evaluate. <br />
  • Utk aturcara lengkap, sila rujuk h/out (java code no 4) <br />

Transcript

  • 1. Control Structures 1: Selection
  • 2. Chapter Goals  Be able to use the selection control structure  Be able to solve problems involving repetition.  Understand the difference among various selection & loop structures.  Know the principles used to design effective selection & loops (next topic).  Improve algorithm design skills.
  • 3. 3 Types Flow of Control  Sequential (we had learn in previous topic) The statements in a program are executed in sequential order  Selection allow the program to select one of multiple paths of execution. The path is selected based on some conditional criteria (boolean expression)  Repetition (we will learn in next topic)
  • 4. Flow of Control: Sequential Structures statement1 statement2 statement3
  • 5.  If the boolean expression evaluates to true, the statement will be executed. Otherwise, it will be skipped. Flow of Control: Selection Structures
  • 6.  There are 3 types of Java selection structures: if statement if-else statement switch statement Flow of Control: Selection Structures
  • 7. The if Statement  The if statement has the following syntax: 7 if ( condition ) statement; if is a Java reserved word The condition must be a boolean expression. It must evaluate to either true or false. If the condition is true, the statement is executed. If it is false, the statement is skipped.
  • 8. Logic of an if statement condition evaluated statement true false
  • 9. if Statement if (amount <= balance) balance = balance - amount;
  • 10. Boolean Expressions  A condition often uses one of Java's equality operators or relational operators, which all return boolean results: == equal to != not equal to < less than > greater than <= less than or equal to >= greater than or equal to 10
  • 11. The if Statement if (total > MAX) charge = total * MAX_RATE; System.out.println ("The charge is " + charge);  First the condition is evaluated -- the value of total is either greater than the value of MAX  If the condition is true, the assignment statement is executed -- if it isn’t, it is skipped.  Either way, the call to println is executed next 
  • 12. Java code example class Count { public static void main (String args[]) { double y=15.0; double x=25.0; if (y!=x) System.out.println("Result : y not equal x"); } }
  • 13. Output Result : y not equal x
  • 14. Block Statements  Several statements can be grouped together into a block statement delimited by braces 14 if (total > MAX) { System.out.println ("Error!!"); errorCount++; }
  • 15. Block Statement if (amount <= balance) { balance = balance - amount; System.out.println(“Acct new balance = “ + balance); } COMPARE WITH if (amount <= balance) balance = balance - amount; System.out.println(“Acct new balance = “ + balance);
  • 16. Logical Operators  Expressions that use logical operators can form complex conditions 16 if ((income > MIN_LEVEL ) && (age <50)) System.out.println (“Can Apply Loan");  All logical operators have lower precedence than the relational operators  Logical NOT has higher precedence than logical AND and logical OR
  • 17. Logical (Boolean) Operation in Java
  • 18. Precedence of Operators
  • 19. Logical Operators if ((amount <= 1000.0) && (amount <= balance)) { balance = balance - amount; System.out.println(“Acct new balance = “ + balance); } EXAMPLE: New withdrawal condition: Withdrawal amount of more than RM1000.00 is not allowed.
  • 20. The if-else Statement (2 way selection)  An else clause can be added to an if statement to make an if-else statement 20 if ( condition ) statement1; else statement2;  If the condition is true, statement1 is executed; if the condition is false, statement2 is executed  One or the other will be executed, but not both
  • 21. Logic of an if-else statement condition evaluated statement1 true false statement2
  • 22. if/else Statement
  • 23. if/else Statement if (amount <= balance) balance = balance - amount; else balance = balance - OVERDRAFT_PENALTY; Purpose: To execute a statement when a condition is true or false
  • 24. Block Statement if (amount <= balance) { balance = balance - amount; System.out.println(“Acct new balance = “ + balance); } else { balance = balance - OVERDRAFT_PENALTY; System.out.println(“TRANSACTION NOT ALLOWED”); }
  • 25. Combine with Boolean operators if ((age >= 25) && (age <= 50)) { System.out.println(“You are qualified to apply”); } else { System.out.println(“You are NOT qualified to apply”); } EXAMPLE: Loan Processing. Can apply if age is between 25 to 50.
  • 26. Multiple Selection (nested if) Syntax: if (expression1) statement1 else if (expression2) statement2 else statement3
  • 27. Java code (multiple selection) if (a>=1) { System.out.println ("The number you enter is :" + a); System.out.println ("You enter the positive number"); } else if (a<0) { System.out.println ("The number you enter is :" + a); System.out.println ("You enter the negative number"); } else { System.out.println ("The number you enter is :" + a); System.out.println ("You enter the zero number"); }
  • 28. Output Enter the number : 15 The number you enter is :15 You enter the positive number Enter the number : -15 The number you enter is :-15 You enter the negative number Enter the number : 0 The number you enter is :0 You enter the zero number
  • 29. Multiple Selections Example  The grading scheme for a course is given as below: Mark Grade 90 - 100 A 80 – 89 B 70 – 79 C 60 – 69 D 0 - 59 F
  • 30. Multiple Selections if (mark >= 90) grade = ‘A’; else if (mark >= 80) grade = ‘B’; else if (mark >= 70) grade = ‘C’; else if (mark >= 60) grade = ‘D’; else grade = ‘F’;
  • 31. Equivalent code with series of if statements if ((mark >= 90) && (mark <=100)) grade = ‘A’; if ((mark >= 80) && (mark >= 89)) grade = ‘B’; if ((mark >= 70) && (mark >= 79)) grade = ‘C’; if ((mark >= 60) && (mark >= 69)) grade = ‘D’; if ((mark >= 0) && (mark >= 59)) grade = ‘F’;
  • 32. switch Structures (multiple selection) switch (expression) { case value1: statements1 break; case value2: statements2 break; ... case valuen: statementsn break; default: statements } Expression is also known as selector. Value can only be integral. If expression matches value2, control jumps to here
  • 33. switch Structures
  • 34. The switch Statement  Often a break statement is used as the last statement in each case's statement list  A break statement causes control to transfer to the end of the switch statement  If a break statement is not used, the flow of control will continue into the next case
  • 35. Control flow of switch statement with and without the break statements
  • 36. Switch/Break Examples int m = 2; switch (m) { case 1 : System.out.println(“m=1”); break; case 2 : System.out.println(“m=2”); break; case 3 : System.out.println(“m=3”); break; default: System.out.println(“default”);} int m = 2; switch (m) { case 1 : System.out.println(“m=1”); break; case 2 : System.out.println(“m=2”); break; case 3 : System.out.println(“m=3”); break; default: System.out.println(“default”);} Output: m=2 char ch = ‘b’; switch (ch) { case ‘a’ : System.out.println(“ch=a”); case ‘b’ : System.out.println(“ch=b”); case ‘c’ : System.out.println(“ch=c”); default: System.out.println(“default”); } char ch = ‘b’; switch (ch) { case ‘a’ : System.out.println(“ch=a”); case ‘b’ : System.out.println(“ch=b”); case ‘c’ : System.out.println(“ch=c”); default: System.out.println(“default”); } Output: ch=b              ch=c              default