Control Structures.

Slides:



Advertisements
Similar presentations
Java Control Statements
Advertisements

Decision Structures - If / Else If / Else. Decisions Often we need to make decisions based on information that we receive. Often we need to make decisions.
AP Computer Science Anthony Keen. Computer 101 What happens when you turn a computer on? –BIOS tries to start a system loader –A system loader tries to.
3-1 Chapter 3 Flow of Control (part a - branching)
The if-else Statements
Control Flow Statements: Repetition/Looping
Pemrograman Dasar Control Flow Statements: Decision Making or Selection PTIIK - UB 1.
Computer Programming 12 Mr. Jean April 2 nd, 2014.
Lecture 3: Control Structures - Selection BJ Furman 10SEP2012.
Making Choices in C if/else statement logical operators break and continue statements switch statement the conditional operator.
Fundamental Programming Structures in Java: Control Flow, Arrays and Vectors.
CS-1010 Dr. Mark L. Hornick 1 Selection Statements and conditional expressions.
Chapter 4 Control Structures I. Objectives ► Examine relational and logical operators ► Explore how to form and evaluate logical (Boolean) expressions.
5-1 Flow of Control Recitation-01/25/2008  CS 180  Department of Computer Science  Purdue University.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 4: Control Structures I (Selection)
1 Conditionals In many cases we want our program to make a decision about whether a piece of code should be executed or not, based on the truth of a condition.
Aalborg Media Lab 23-Jun-15 Software Design Lecture 6 “Conditionals and Loops”
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Java Software Solutions Foundations of Program Design Sixth Edition by Lewis.
Java Programming: From Problem Analysis to Program Design, 4e Chapter 4 Control Structures I: Selection.
Introduction to Programming G51PRG University of Nottingham Revision 2 Essam Eliwa.
CONTROL STATEMENTS Lakhbir Singh(Lect.IT) S.R.S.G.P.C.G. Ludhiana.
DAT602 Database Application Development Lecture 5 JAVA Review.
Chapter 4: Control Structures I J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program Design, Second Edition Second.
Chapter 4: Control Structures I J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program Design,
Jaeki Song ISQS6337 JAVA Lecture 04 Control Structure - Selection, and Repetition -
5-1 Repetition Statements Repetition statements allow us to execute a statement multiple times Often they are referred to as loops Like conditional statements,
Lecture 4 Control Structures MIT – AITI What are Control Structures? Control structures are a way to alter the natural sequence of execution in.
 Learn about control structures  Examine relational and logical operators  Explore how to form and evaluate logical (Boolean) expressions  Learn how.
J AVA P ROGRAMMING 2 C H 03: C ONTROL STATEMENTS if, for loop (review) switch, while, do while break, continue Fall Java Programming.
Java Programming: From Problem Analysis to Program Design, 3e Chapter 4 Control Structures I: Selection.
Chapter 4 Control Structures I. Chapter Objectives Learn about control structures Examine relational and logical operators Explore how to form and evaluate.
Sections © Copyright by Pearson Education, Inc. All Rights Reserved.
School of Computer Science & Information Technology G6DICP - Lecture 4 Variables, data types & decision making.
Control statements Mostafa Abdallah
 Control Flow statements ◦ Selection statements ◦ Iteration statements ◦ Jump statements.
CPS120: Introduction to Computer Science Decision Making in Programs.
CONTROL STRUCTURE. 2 CHAPTER OBJECTIVES  Learn about control structures.  Examine relational and logical operators.  Explore how to form and evaluate.
CSI 3125, Preliminaries, page 1 Control Statements.
COMP Loop Statements Yi Hong May 21, 2015.
Chapter 2: Fundamental Programming Structures in Java Adapted from MIT AITI Slides Control Structures.
Control structures in C by Dr P.Padmanabham Professor (CSE)&Director Bharat Institute of Engineering &Technology Hyderabad Mobile
Chapter 7 Control Structures. Java has very flexible three looping mechanisms. You can use one of the following three loops:  while Loop  do...while.
Conditional Statements A conditional statement lets us choose which statement will be executed next Conditional statements give us the power to make basic.
Control Structures- Decisions. Smart Computers Computer programs can be written to make computers seem smart Making computers smart is based on decision.
Chapter 4: Control Structures I
Lecture 4b Repeating With Loops
COMP 14 Introduction to Programming
Chapter 4: Control Structures I
Selections Java.
The switch Statement, and Introduction to Looping
Chapter 4: Making Decisions.
Lecture 3- Decision Structures
Control Statements: Part 2
Operator Precedence Operators Precedence Parentheses () unary
Chapter 4: Making Decisions.
CiS 260: App Dev I Chapter 4: Control Structures II.
Control Structures.
Chapter 4: Control Structures I
محاضرة 1: مقدمة للمسـاق و مراجعـة للأساسيـات
CSC215 Lecture Flow Control.
CSC215 Lecture Control Flow.
Flow Control Statements
Chapter 4: Control Structures I (Selection)
Control Structure Chapter 3.
Program Flow.
Repetition Statements (Loops) - 2
CSC215 Lecture Control Flow.
Controlling Program Flow
Control Structure.
Presentation transcript:

Control Structures

Program Flow Java will execute the statements in your code in a specific sequence, or "flow". The "flow" of the program and can be described through a "flow diagram": a more sophisticated program statement statement statement statement a simple program statement statement statement statement statement statement

What are Control Structures? Control structures alter the flow of the program, the sequence of statements that are executed in a program. They act as "direction signals" to control the path a program takes. Two types of control structures in Java: decision statements loops

Decision Statements A decision statement allows the code to execute a statement or block of statements conditionally. Two types of decisions statements in Java: if statements switch statements

If Statement if (expression) { statement; } rest_of_program; expression must evaluate to a boolean value, either true or false If expression is true, statement is executed and then rest_of_program If expression is false, statement is not executed and the program continues at rest_of_program

If Statement Flow Diagram execute statement rest_of_program Is expression true? yes no The if decision statement executes a statement if an expression is true if (expression) { statement1; } rest_of_program

If-Else Statement if (expression) { statement1; } else{ statement2; } next_statement; Again, expression must produce a boolean value If expression is true, statement1 is executed and then next_statement is executed. If expression is false, statement2 is executed and then next_statement is executed.

If-Else Flow Diagram is “expression” true? execute statement1 rest_of_program no yes statement2 The if-else decision statement executes a statement if an expression is true and a different statement if it is not true. if (expression){ statement1; } else { statement2; } rest_of_program

Chained If-Else Statements if (grade == 'A') System.out.println("You got an A."); else if (grade == 'B') System.out.println("You got a B."); else if (grade == 'C') System.out.println("You got a C."); else System.out.println("You got an F.");

Switch Statements The switch statement enables you to test several cases generated by a given expression. For example: switch (expression) { case value1: statement1; case value2: statement2; default: default_statement; } Every statement after the true case is executed The expression must evaluate to a char, byte, short or int, but not long, float, or double.

y n y n expression equals value1? Do value1 thing switch (expression){ case value1: // Do value1 thing case value2: // Do value2 thing ... default: // Do default action } // Continue the program n y expression equals value2? Do value2 thing n Do default action Continue the program

Break Statements in Switch Statements The break statement tells the computer to exit the switch statement For example: switch (expression) { case value1: statement1; break; case value2: statement2; default: default_statement; }

expression equals value1? value2? do default action Do value1 thing Do value2 thing break Continue the program y n switch (expression){ case value1: // Do value1 thing break; case value2: // Do value2 thing ... default: // Do default action } // Continue the program

Remember the Chained If-Else . . . if (grade == 'A') System.out.println("You got an A."); else if (grade == 'B') System.out.println("You got a B."); else if (grade == 'C') System.out.println("You got a C."); else System.out.println("You got an F.");

This is how it is accomplished with a switch: if-else chains can be sometimes be rewritten as a “switch” statement. switches are usually simpler and faster switch (grade) { case 'A': System.out.println("You got an A."); break; case 'B': System.out.println("You got a B."); break; case 'C': System.out.println("You got a C."); break; default: System.out.println("You got an F."); }

Loops A loop allows you to execute a statement or block of statements repeatedly. Three types of loops in Java: 1. while loops 2. for loops 3. do-while loops (not discussed in this course)

The while Loop while (expression){ statement } This while loop executes as long as the given logical expression between parentheses is true. When expression is false, execution continues with the statement following the loop block. The expression is tested at the beginning of the loop, so if it is initially false, the loop will not be executed at all.

For example: What is the value of sum? int sum = 0; int i = 1; while (i <= 10){ sum += i; i++; } What is the value of sum? 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55

The for Loop for (init_expr; loop_condition; increment_expr) { statement; } The control of the for loop appear in parentheses and is made up of three parts: The first part, the init_expression,sets the initial conditions for the loop and is executed before the loop starts. Loop executes so long as the loop_condition is true and exits otherwise. The third part of the control information, the increment_expr, is usually used to increment the loop counter. This is executed at the end of each loop iteration.

For example: What is the value of sum? int sum = 0; for (int i = 1; i <= 10; i++) { sum += i; } What is the value of sum? 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55

What will this for loop do? Example 3: for(int div = 0; div < 1000; div++){ if(div % 2 == 0) { System.out.println("even: " + div); } else { System.out.println("odd: " + div); } What will this for loop do? prints out each integer from 0 to 999, correctly labeling them even or odd

If there is more than one variable to set up or increment they are separated by a comma. for(i=0, j=0; i*j < 100; i++, j+=2) { System.out.println(i * j); } You do not have to fill all three control expressions but you must still have two semicolons. int n = 0; for(; n <= 100;) { System.out.println(++n);

The for loop Initialize count The while loop Test condition is true? Execute loop statement(s) Increment count New statement The for loop y n The while loop Test condition is true? Execute loop statement(?) Next statement y n

The continue Statement The continue statement causes the program to jump to the next iteration of the loop. /** * prints out "5689" */ for(int m = 5; m < 10; m++) { if(m == 7) { continue; } System.out.print(m);

Another continue example: int sum = 0; for(int i = 1; i <= 10; i++){ if(i % 3 == 0) { continue; } sum += i; What is the value of sum? 1 + 2 + 4 + 5 + 7 + 8 + 10 = 37

The break Statement We have seen the use of the break statement in the switch statement. You can also use the break statement to exit the loop entirely. // prints out numbers unless // num is ever exactly 400 while (num > 6) { if(num == 400) { break; } System.out.println(num); num -= 8;

Nested Loops You can nest loops of any kind one inside another to any depth. What does this print? for(int i = 10; i > 0; i--) { if (i > 7) { continue; } while (i > 3) { if(i == 5) { break; System.out.println(--i); System.out.println(i); 6 5 4 3 2 1

POP QUIZ In the switch statement, which types can expression evaluate to? What must be used to separate each section of a for statement. Which statement causes a program to skip to the next iteration of a loop. Write a for loop that outputs 100-1 in reverse sequence. Write a for loop that outputs all numbers that are divisible by 3 between 0-50. char, byte, short, int semicolons continue Answers: From slide “Switch Statements”: char, byte, short or int From slide “The for loop”: a semi-colon From slide “The continue Statement”: continue for(int i=100; i>0; i--) System.out.println(i); for(int i=0; i<=50; i++) { if (i%3 == 0) }