Control Structures in Java if-else and switch

Similar documents
Control Structures in Java if-else and switch

Control Structures. Lecture 4 COP 3014 Fall September 18, 2017

Following is the general form of a typical decision making structure found in most of the programming languages:

BRANCHING if-else statements

Module 3 SELECTION STRUCTURES 2/15/19 CSE 1321 MODULE 3 1

Java provides a rich set of operators to manipulate variables. We can divide all the Java operators into the following groups:

Lecture Programming in C++ PART 1. By Assistant Professor Dr. Ali Kattan

CS313D: ADVANCED PROGRAMMING LANGUAGE

Sequence structure. The computer executes java statements one after the other in the order in which they are written. Total = total +grade;

School of Computer Science CPS109 Course Notes 5 Alexander Ferworn Updated Fall 15

Control Flow. COMS W1007 Introduction to Computer Science. Christopher Conway 3 June 2003

COMP 202 Java in one week

Flow of Control. Flow of control The order in which statements are executed. Transfer of control

V2 2/4/ Ch Programming in C. Flow of Control. Flow of Control. Flow of control The order in which statements are executed

1007 Imperative Programming Part II

Lecture 5 Tao Wang 1

Selec%on and Decision Structures in Java: If Statements and Switch Statements CSC 121 Fall 2016 Howard Rosenthal

Objectives. Chapter 4: Control Structures I (Selection) Objectives (cont d.) Control Structures. Control Structures (cont d.) Relational Operators

Introduction to Object-Oriented Programming

CS 115 Lecture 8. Selection: the if statement. Neil Moore

Introduction. C provides two styles of flow control:

Selec%on and Decision Structures in Java: If Statements and Switch Statements CSC 121 Spring 2016 Howard Rosenthal

Chapter 4: Control Structures I (Selection) Objectives. Objectives (cont d.) Control Structures. Control Structures (cont d.

Chapter 4: Making Decisions. Copyright 2012 Pearson Education, Inc. Sunday, September 7, 14

Flow Control. CSC215 Lecture

VARIABLES AND TYPES CITS1001

Quiz 1: Functions and Procedures

5. Selection: If and Switch Controls

CompSci 125 Lecture 11

switch case Logic Syntax Basics Functionality Rules Nested switch switch case Comp Sci 1570 Introduction to C++

Chapter 4: Making Decisions

Loops! Loops! Loops! Lecture 5 COP 3014 Fall September 25, 2017

Programming for Engineers Iteration

LECTURE 04 MAKING DECISIONS

Chapter 4: Making Decisions

CONDITIONAL EXECUTION: PART 2

Chapter 3. Selections

Decision Making in C

Slide 1 CS 170 Java Programming 1 The Switch Duration: 00:00:46 Advance mode: Auto

Java is an objet-oriented programming language providing features that support

Topics. Chapter 5. Equality Operators

COMP Flow of Control: Branching 2. Yi Hong May 19, 2015

Flow Control. Key Notion. Statement Categories. 28-Oct-10

Conditionals and Loops

Administration. Conditional Statements. Agenda. Syntax. Flow of control. Lab 2 due now on floppy Lab 3 due tomorrow via FTP

Flow Control. Boaz Kantor Introduction to Computer Science, Fall semester IDC Herzliya

cis20.1 design and implementation of software applications I fall 2007 lecture # I.2 topics: introduction to java, part 1

G Programming Languages - Fall 2012

Lecture 4. CS118 Term planner. The simple if statement. Control flow: selection. The if... else statement cont... The if... else statement.

Chapter 2. Flow of Control. Copyright 2016 Pearson, Inc. All rights reserved.

An overview about DroidBasic For Android

Mobile Computing Professor Pushpendra Singh Indraprastha Institute of Information Technology Delhi Java Basics Lecture 02

Flow of Control. Chapter 3

Chapter Overview. More Flow of Control. Flow Of Control. Using Boolean Expressions. Using Boolean Expressions. Evaluating Boolean Expressions

There are algorithms, however, that need to execute statements in some other kind of ordering depending on certain conditions.

Building Java Programs

Expressions and Data Types CSC 121 Spring 2015 Howard Rosenthal

Instructor: SIR MUHAMMAD NAVEED Created by: ARSLAN AHMED SHAAD ( ) MUHAMMAD BILAL ( ) ISIT:

Programming Constructs Overview. Method Call System.out.print( hello ); Method Parameters

Kingdom of Saudi Arabia Princes Nora bint Abdul Rahman University College of Computer Since and Information System CS240 BRANCHING STATEMENTS

CPSC 3740 Programming Languages University of Lethbridge. Control Structures

Operators in java Operator operands.

CS111: PROGRAMMING LANGUAGE II

BM214E Object Oriented Programming Lecture 4

Building Java Programs

Java Bytecode (binary file)

Programming with Java

Conditional Programming

Computer Science & Engineering 150A Problem Solving Using Computers

Lecture Set 2: Starting Java

Flow of Control. Chapter 3

Chapter 7: Javascript: Control Statements. Background and Terminology. Background and Terminology. Background and Terminology

Java Basic Programming Constructs

Java Fall 2018 Margaret Reid-Miller

SELECTION. (Chapter 2)

The Java language has a wide variety of modifiers, including the following:

Decision Making -Branching. Class Incharge: S. Sasirekha

Lecture Transcript While and Do While Statements in C++

McGill University School of Computer Science COMP-202A Introduction to Computing 1

COMP-202: Foundations of Programming. Lecture 2: Variables, and Data Types Sandeep Manjanna, Summer 2015

Arrays. Lecture 11 CGS 3416 Spring March 6, Lecture 11CGS 3416 Spring 2017 Arrays March 6, / 19

Outline. Overview. Control statements. Classes and methods. history and advantage how to: program, compile and execute 8 data types 3 types of errors

SECTION II: LANGUAGE BASICS

Operators. Java operators are classified into three categories:

Assignment 4: Semantics

In Java, data type boolean is used to represent Boolean data. Each boolean constant or variable can contain one of two values: true or false.

Arrays. Lecture 11 CGS 3416 Fall October 26, 2015

Statements execute in sequence, one after the other, such as the following solution for a quadratic equation:

CSc 520 Principles of Programming Languages. 26 : Control Structures Introduction

The Basic Parts of Java

5. Control Statements

Programming Basics and Practice GEDB029 Decision Making, Branching and Looping. Prof. Dr. Mannan Saeed Muhammad bit.ly/gedb029

6. Operatoren. 7. Safe Programming: Assertions. Table of Operators. Table of Operators - Explanations. Tabular overview of all relevant operators

COMP Introduction to Programming If-Else Statement, Switch Statement and Loops

Flow of Control. Chapter 3

SSEA Computer Science: Track A. Dr. Cynthia Lee Lecturer in Computer Science Stanford

CSEN 202 Introduction to Computer Programming

Selection Statements and operators

COP 1220 Introduction to Programming in C++ Course Justification

Flow of Control: Programs can control the order in which their instructions are executed. Four types of flow:

Transcription:

Control Structures in Java if-else and switch Lecture 4 CGS 3416 Spring 2016 February 2, 2016

Control Flow Control flow refers to the specification of the order in which the individual statements, instructions or function calls of an imperative program are executed or evaluated

Types of Control Flow Flow of control through any given function is implemented with three basic types of control structures: Sequential: Default mode. Statements are executed line by line. Selection: Used for decisions, branching choosing between 2 or more alternative paths. if if - else switch conditional statements Repetition: Used for looping repeating a piece of code multiple times in a row. while do - while for The function construct, itself, forms another way to affect flow of control through a whole program. This will be discussed later in the course.

Logical Operators

Logical Operators Java has Boolean operators for combining expressions. Each of these operators returns a Boolean value: a true or a false.!x // the NOT operator (negation) true if x is false x && y x y // the AND operator true if both x and y are true // the OR operator true if either x or y (or both) are true x y // the EXCLUSIVE OR operator true if exactly one operand is true and one is false These operators will be commonly used as test expressions in selection statements or repetition statements (loops).

Relational Operators The comparison operators in Java work much like the symbols we use in mathematics. Each of these operators returns a Boolean value: a true or a false. x == y x!= y x <y x <= y x >y x >= y // x is equal to y // x is not equal to y // x is less than y // x is less than or equal to y // x is greater than y // x is greater than or equal to y

Examples of Expressions (x >0 && y >0 && z >0) // all three of (x, y, z) are positive (x <0 y <0 z <0) // at least one of the three variables is negative ( numstudents >= 20 &&!(classavg <70)) // there are at least 20 students and the class average is at least 70 ( numstudents >= 20 && classavg >= 70) // means the same thing as the previous expression

Short Circuit Evaluation The && and operators also have a feature known as short-circuit evaluation. In the Boolean AND expression (X && Y), if X is false, there is no need to evaluate Y (so the evaluation stops). Example: (d!= 0 && n / d >0) Notice that the short circuit is crucial in this one. If d is 0, then evaluating (n / d) would result in division by 0 (illegal). But the short-circuit prevents it in this case. If d is 0, the first operand (d!= 0) is false. So the whole && is false. Similarly, for the Boolean OR operation (X Y), if the first part is true, the whole thing is true, so there is no need to continue the evaluation. The computer only evaluates as much of the expression as it needs. This can allow the programmer to write faster executing code.

if Statement The most common selection statement is the if statement. Basic syntax: if (boolean expression) { statement(s) } The condition is always a boolean expression. This means that it must be an expression that evaluates to a true or a false.

if - else Statements The if statement can also have an else clause. This is sometimes known as an if/else statement. Basic syntax: if (boolean expression) { statement(s) } else { statement(s) } In both of these formats, the set braces can be left out if the body of the if or the else is a single statement. Otherwise, the block is needed.

Examples if (grade >= 68) System.out.print("Passing"); if (x == 0) System.out.println("Nothing here"); else System.out.println("There is a value");

Examples if (y!= 4) { System.out.println("Wrong number"); y = y * 2; counter++; } else { System.out.println("That s it!"); success = true; }

Examples Be careful with ifs and elses. If you don t use { }, you may think that you ve included more under an if condition than you really have. if (val <5) System.out.println("True"); else System.out.println("False"); System.out.println("Too bad!"); Indentation is only for people! It improves readability, but means nothing to the compiler.

Some Common Errors What s wrong with these if-statements? Which ones are syntax errors and which ones are logic errors? if (x == 1 2 3) System.out.print("x is a number in the range 1-3"); if (x >5) && (y <10) System.out.print( Yahoo! ); if (response!= Y response!= N ) System.out.print("You must type Y or N (for yes or no)");

The switch Statement A switch statement is often convenient for occasions in which there are multiple cases to choose from. The syntax format is: switch (expression) { case constant: statements case constant: statements...(as many case labels as needed) } default: statements // optional label

The switch Statement The switch statement evaluates the expression, and then compares it to the values in the case labels. If it finds a match, execution of code jumps to that case label. The values in case labels must be constants, and may only be types char, byte, short, or int. From Java 7 onwards, Strings and Enum types are also allowed. This also means the case label must be a literal or a variable declared to be constant (with final). You may not have case labels with regular variables, floating point literals, operations, or function calls If you want to execute code only in the case that you jump to, end the case with a break statement, otherwise execution of code will fall through to the next case.

The Conditional Operator There is a special operator known as the conditional operator that can be used to create short expressions that work like if/else statements. Format: boolean expr? true expr : false expr How it works: The boolean expression is evaluated for true/false value. This is like the test expression of an if-statement. If the expression is true, the operator returns the true expression value. If the test expression is false, the operator returns the false expression value. Note that this operator takes three operands. It is the one ternary operator in the Java language

Some Examples System.out.print( (x >y)? "x is greater than y" : "x is less than or equal to y"); // Note that this expression gives the same result as the following if (x >y) System.out.print("x is greater than y"); else System.out.print("x is less than or equal to y");

Some Examples (x <0? value = 10 : value = 20); // this gives the same result as: value = (x <0? 10 : 20); // and also gives the same result as: if (x <0) value = 10; else value = 20;