Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 More on Decisions Overview l The selection Operator l Grouping of Statements l Multiple branches (if else if) l Switch Statement.

Similar presentations


Presentation on theme: "1 More on Decisions Overview l The selection Operator l Grouping of Statements l Multiple branches (if else if) l Switch Statement."— Presentation transcript:

1 1 More on Decisions Overview l The selection Operator l Grouping of Statements l Multiple branches (if else if) l Switch Statement

2 2 The Selection Operator l Java provides a selection operator which may be used sometimes to simplify if – else statements. The syntax is: variable assignment condition ? value1 : value2; Interpretation: l The condition is first evaluated. If it results in true, the variable on the left is assigned value1; If the result is false, variable is assigned value2. Example: String status; double passMark = 65, studentMark = 70; status = studentMark >= passMark? "pass" : "fail"; l The last line in the above example is obviously shorter than the following if-else version: if (studentMark >= passMark) status = "pass" ; else status = "fail" ; l Although the selection operator is convenient, it makes programs less readable, thus we encourage you to always use if-else instead.

3 3 Grouping of statements l The syntax of if statement specifies a single statement in each branch. However, there are situations where we would like to have more than one statement in a branch. l For example, suppose we wish to improve the quadratic example so that it checks that the equation has real roots before computing the root. l Obviously, the branch of the if statement where the roots are computed involves more than one statement. l To solve this problem, Java allows several statements to be grouped together into a block statement using braces { …} l A block of statement can be used wherever a statement is allowed in the Java syntax. l The example on the next slide demonstrate this.

4 4 Grouping of statements import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.IOException; public class QuadraticEquation2 { public static void main(String[] args) throws IOException{ BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in)); double a, b, c, root1, root2, disc; System.out.print("Enter value of a: "); a= Integer.parseInt(stdin.readLine()); System.out.print("Enter value of b: "); b= Integer.parseInt(stdin.readLine()); System.out.print("Enter value of c: "); c= Integer.parseInt(stdin.readLine()); disc = b*b - 4*a*c; if (disc >= 0) { root1 = (-b + Math.sqrt(disc))/(2*a); root2 = (-b - Math.sqrt(disc))/(2*a); System.out.println("The roots are: "+root1+" and "+root2); } else System.out.println("Equation has no real roots"); }

5 5 if else if statement l To achieve multiple branches, several if statements can be nested as shown in the following example.. Example : int testscore =... ; char grade; if (testscore >= 90) grade = 'A'; else if (testscore >= 80) grade = 'B'; else if (testscore >= 70) grade = 'C'; else if (testscore >= 60) grade = 'D'; else grade = 'F';

6 6 if else if statement Example: import java.io.*; class NestedIf { public static void main(String[]args) throws java.io.IOException { BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); System.out.print("enter a number: "); int number=Integer.parseInt(stdin.readLine()); if ( number > 0 ) System.out.println("it is positive"); else if ( number < 0 ) System.out.println("it is negative"); else System.out.println("it is 0"); }

7 7 switch statement l The Switch statement can also be used to handle multiple branches. The Syntax is: switch (controllingExpression) { case value1 : Statements; break; case value2 : Statements; break;... default : Statements; } Where value1, value2, etc are integer constants and controllingExpression is an expression that evaluates to integer value.

8 8 switch statement l Interpretation »The controllingexpression is evaluated and its result is compared against value1, value2, etc. »The statement of the matching value is executed »If there is no break, execution continues in the next branch until a break is found or until end of the switch statement. »The default branch is optional. If there is no matching branch and there is a default branch, it is executed. Example: import java.io.IOException; import java.io. InputStreamReader; import java.io.BufferedReader; class DayOfWeek { public static void main(String[] args) throws IOException { BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); System.out.print(“Enter a number [1.. 7]: ); String input=stdin.readLine();

9 9 switch statement Example (cont’d) int dayNumber=Integer.parseInt(input); switch (dayNumber) { case 1: System.out.println("Saturday"); break; case 2:System.out.println("Sunday"); break; case 3: System.out.println("Monday"); break; case 4: System.out.println("Tuesday"); break; case 5: System.out.println("Wednesday"); break; case 6: System.out.println("Thursday"); break; case 7: System.out.println("Friday"); break;} default: System.out.println(“Inavlid input"); }

10 10 switch statement Example-without break import java.io.*; class DayOfWeek { public static void main(String[] args) throws java.io.IOException { BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); String input=stdin.readLine(); System.out.print(“Enter a number [1…7]: “); int dayNumber=Integer.parseInt(input); switch (dayNumber) { case 1: System.out.println("Saturday"); case 2: System.out.println("Sunday"); case 3: System.out.println("Monday"); case 4: System.out.println("Tuesday"); case 5: System.out.println("Wednesday"); case 6: System.out.println("Thursday"); case 7: System.out.println("Friday"); } What will be the output, if the input is 3 ?


Download ppt "1 More on Decisions Overview l The selection Operator l Grouping of Statements l Multiple branches (if else if) l Switch Statement."

Similar presentations


Ads by Google