Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Chapter 1 Nested Control Structures

1,434 views

Published on

Chapter 1 Nested Control Structures
Advanced control structures in Java.
java, selection, repitition

Published in: Education
  • Be the first to comment

Chapter 1 Nested Control Structures

  1. 1. Fundamentals of (Java) Programming Khirulnizam Abd Rahman 0129034614 (WhatsApp/SMS) Khirulnizam@gmail.com KERUL.net
  2. 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 11/28/14
  3. 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. 4. Assessment Java Programming: From Problem Analysis to 4 Program Design, 3e
  5. 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
  6. 6. Control Structure I
  7. 7. Control Structures A computer can process a program in three(3) ways : Sequence (line by line) Selection or choice (branch) Repetition
  8. 8. Sequence Structure Start at the beginning and follows the statement in order. start statement1 statement2 … Statement-n End
  9. 9. Selection Structure Statement executions is depending on one or more condition start statement1 statement3 Fcondition T statement2 Statement-n End
  10. 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. 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. 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. 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. 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. 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. 16. Selection Structure There are 2 types of Selection Structure If statement Switch statement
  17. 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. 18. If Statement : One-Way IF The Syntax If (condition) statement; if (condition) { statement1; statement2; } Only one statement More than one statement
  19. 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. 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. 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. 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. 23. If Statement : Two-Way IF The Syntax if (condition) statement1; else statement2; statement3; Only one statement for each
  24. 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. 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. 26. If Statement : Two-Way IF The Syntax if (condition) { statement1; statement2; } else { Statement3; Statement4; } Statement5; More than one statement
  27. 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. 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. 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. 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. 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. 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. 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. 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. 35. C1 - COMPLEX FLOW CONTROL FUNDAMENTALS OF PROGRAMMING DTCP 2023
  36. 36. NESTED IF STATEMENT SYNTAX if (Boolean_Expression_1) if (Boolean_Expression_2) Statement_1) else Statement_2
  37. 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. 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. 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. 40. Control Flow of Nested-if Statement false inner if messageBox.show ("You did not pass"); 40 messageBox.show ("You did not pass"); false testScore >= 70 ? testScore >= 70 ? messageBox.show ("You did pass"); messageBox.show ("You did pass"); true studentAge < 10 ? studentAge < 10 ? true messageBox.show ("You did a great job"); messageBox.show ("You did a great job");
  41. 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. 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. 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. 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. 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. 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. 47. Nested Control Structures for loops can be found within other for loops 47
  48. 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. 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. 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. 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. 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. 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. 54
  55. 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(“”); RENNI } RETUO

×