1 / 26

Object Oriented Programming

This lecture covers the implementation and coding process, including the use of the Circle and Point classes. It also discusses flow control, decision making, and loops.

bwallace
Télécharger la présentation

Object Oriented Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Object Oriented Programming Lecture 4: Flow Control Mustafa Emre İlal emreilal@iyte.edu.tr

  2. Recap • Implementation • Coding – writing source code • Assignment 2 • Circle class • Point class • Applications using these classes

  3. Today • Flow control • Decision making • Loops • Thinking in Java – Chapter 3

  4. Controlling Program Flow • Branching flow based on certain criteria • Conditional statements • Repeating a process – Loops

  5. Normal Flow • A program is a series of commands • Step by step, top-down execution of commands • A pre-determined series is not adequate • Based on state, a different route might need to be taken • Need a branching mechanism - if

  6. Including an optional additional path • Executing a set of commands based on certain conditions • Condition is of a boolean type in Java: either “true” or “false” Condition? false true

  7. if … if (condition) { if condition is ‘true’ instructions to execute .... } instructions after merging of both branches (normal execution path)

  8. Parallel Paths • The either/or situation: choosing one path or the other based on a condition. • if - else Condition? true false

  9. if – else … if (condition) { instructions that are to be executed when the condition is true .... } else { instructions to be executed when the condition is false } instructions after merging of both branches

  10. More than two paths • When more than two alternatives exist for a condition, we go through the list of possibilities. Elminating them one-by-one Condition1 true false Condition2 true false Condition3 true false

  11. if – elseif if (condition1) { instructions to be executed if condition1 is true .... } elseif (condition2) { instructions to be executed if condition1 is false but condition2 is true } elseif (condition3) { instructions to be executed if all conditions above are false and condition3 is true } else { instructions to be executed if all conditions are false } instructions after merging of all branches

  12. A different “condition testing” • .if – elseif command allows us to test conditions based on boolean value (true or false) • The switch statement allows us to test for various values of a particular variable type test value1 value2 value3 value4

  13. switch switch (variable) { casevalue1: instructions; break; casevalue2: instructions; break; casevalue3: instructions; break; casevalue4: instructions; break; default: instructions; }

  14. Repeating a process • Often a series of commands need to be repeated • Types of repetition: • An application itself is a mecahnism for repeating commands. • Function/method calls are repetitons based on demand • Loops: • A certain number of repetitons • Repetition until a condition is met

  15. Loops Condition? false true Condition? true false

  16. while while (test condition) { body of loop; } --- int i=0; while (i<10) { System.out.println(i); i++; }

  17. do - while Do { body of loop; } while (test condition) ; --- int i=0; do { System.out.println(i); i++; } while (i<10) ;

  18. for for (initialization[s]; test condition; counter update[s]) { body of loop; } ----- for (int i=0; i<10; i++) { System.out.println(i); }

  19. enhanced for for (initialization[s] : iterable collection or array) { body of loop; } ----- for (int i :an_array[]) { System.out.println(i); }

  20. break - continue • break • For immediate exit out of any loop body • Only one level exit in case of nested loops • continue • To start the next iteration of the loop immediately. • Only one level • If there is a need to go beyond one level, use “labels”.

  21. break - continue while (true) { //infinite loop statements... ; if (exceptional condition) { break; //exit loop } more statements...; }

  22. Assignment 04 • Write a class named ‘Assignment04’ that implements the following static methods. • static boolean isEven(int number) • if number is even, return true, otherwise return false • static String resolveAreaCode (int code) • Return the name of the area for the area codes below: • 212: Istanbul-1; 216: Istanbul-2; 312: Ankara; 232: Izmir; 322: Adana; 266: Balikesir; 224: Bursa; 462: Trabzon; 532: Turkcell; 542:Vodafone; 505-TurkTelekom; other codes: Unknown_code • (you are expected to use the switch statement)

  23. Assignment 04 • static void fibonacciSeries(int n) • Display the first n numbers in the Fibonacci sequence (The sequence of numbers that start with 0 and 1 and where each number thereafter is the sum of the two preceeding numbers.) • static void fibonacciUntil (int max) • Display the fibonacci sequence that ends with the first number greater than or equal to max. • static void squares(int n) • Display the squares of the first n integers starting with 0. (02,12,22,32,...) • static void squaresUntil(int max) • Display the squares of integers that end with the first square greater than or equal to max.

  24. Assignment 04 • static void randomTest() • The Math.random() method generates a real number n (of type double) where, 0.00 <= n < 1.00. Using this method, generate 1000 integers between 50 and 150 and display their average. • static void countdown(int n) • Display integers (in reverse order) from n down to 0.

  25. Assignment 04 • Write a class named ‘Assignment04App’ • It should test all the static methods of the Assignment4 class and display the outputs on screen.

  26. Next Week • Preperation: Thinking in Java Chapter 4-6

More Related