Presentation is loading. Please wait.

Presentation is loading. Please wait.

Object Oriented Programming Lecture 4: Flow Control Mustafa Emre İlal

Similar presentations


Presentation on theme: "Object Oriented Programming Lecture 4: Flow Control Mustafa Emre İlal"— Presentation transcript:

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

2 Recap Implementation –Coding – writing source code –Assignments1-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” truefalse Condition?

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 true false Condition?

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 true Condition2 false true Condition1 Condition3

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 (ture or false) The switch statement allows us to test for various values of a particular variable type value4value1value2value3 test

13 switch switch (variable) { case value1: instructions; break; case value2: instructions; break; case value3: instructions; break; case value4: 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 truefalse Condition? true false Condition?

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 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”.

20 break - continue while (true) { //sonsuz döngü komutlar... ; if (istisnai bir şart) { break; //döngüden çıkış } komutlar; }

21 Assignment 4 Write a class named ‘Assignment4’ 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: İstanbul-1; 216: İstanbul-2; 312: Ankara; 232: İzmir; 322: Adana; 266: Balikesir; 224: Bursa; 462: Trabzon; 532: Turkcell; 542:Vodafone; 505-Avea; other codes: Unknown_code (you are expected to use the switch statement)

22 Assignment 4 –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 max. –static void squares(int n) Display the squares of the first n integers starting with 0. (0 2,1 2,2 2,3 2,...) –static void squaresUntil(int max) Display the squares of integers that end with the first square greater than max.

23 Assignment 4 –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.

24 Assignment 4 –Write a class named ‘Assignment4App’ It should test all the static methods of the Assignment4 class and display the outputs on screen.

25 Next Week Preperation: Thinking in Java Chapter 4-6


Download ppt "Object Oriented Programming Lecture 4: Flow Control Mustafa Emre İlal"

Similar presentations


Ads by Google