# Motivating Examples (1.1) Selections. Motivating Examples (1.2) Learning Outcomes. EECS1022: Programming for Mobile Computing Winter 2018

Size: px
Start display at page:

Download "Motivating Examples (1.1) Selections. Motivating Examples (1.2) Learning Outcomes. EECS1022: Programming for Mobile Computing Winter 2018"

Transcription

2 Motivating Examples (2.1) Problem: Take an integer value from the user, then output a message indicating if the number is negative, zero, or positive. Here is an example run of the program: Enter a number: 5 You just entered a positive number. Here is another example run of the program: Enter a number: -5 You just entered a negative number. Your solution program must accommodate all possibilities! 5 of 53 The boolean Data Type A (data) type denotes a set of related runtime values. We need a data type whose values suggest either a condition holds, or it does not hold, so that we can take selective actions. The Java boolean type consists of 2 literal values: true, false All relational expressions have the boolean type. Math Symbol Java Operator Example (r is 5) Result <= r <= 5 true >= r >= 5 true = == r == 5 true < < r < 5 false > > r > 5 false!= r!= 5 false Note. You may do the following rewritings: x <= y x > y x!= y x == y!(x > y) 7 of 53!(x <= y)!(x == y)!(x!= y) Motivating Examples (2.2) Syntax of if Statement So far, you only learned about writing programs that are executed line by line, top to bottom. In general, we need a mechanism to allow the program to: Check a list of conditions; and Branch its execution accordingly. e.g., To solve the above problem, we have 3 possible branches: 1. If the user input is negative, then we execute the first branch that prints You just entered a negative number. 2. If the user input is zero, then we execute the second branch that prints You just entered zero. 3. If the user input is positive, then we execute the third branch that prints You just entered a positive number. if ( BooleanExpression 1 ) { /* Mandatory */ Statement 1.1 ; Statement 2.1 ; else if ( BooleanExpression 2 ) { /* Optional */ Statement 2.1 ; Statement 2.2 ;... /* as many else-if branches as you like */ else if ( BooleanExpression n ) { /* Optional */ Statement n.1 ; Statement n.2 ; /* Optional */ /* when all previous branching conditions are false */ Statement 1 ; Statement 2 ; 6 of 53 8 of 53

3 Semantics of if Statement (1.1) Semantics of if Statement (2.1) start of if-statement Only first satisfying branch executed; later branches ignored. True BooleanExpression1 Statement1.1 Statement1.2 Statement2.1 Statement2.2 False BooleanExpression2 True False... False True BooleanExpressionn Statementn.1 Statementn.2 False int i = 5; if(i < 0) { System.out.println("i else if(i < 10) { System.out.println("i else if(i == 10) { System.out.println("i System.out.println("i is negative"); is less than than 10"); is equal to 10"); is greater than 10"); Statement1 Statement2 9 of 53 end of if-statement Semantics of if Statement (1.2) Consider a single if statement as consisting of: An if branch A (possibly empty) list of else if branches An optional else branch At runtime : Branches of the if statement are executed from top to bottom. We only evaluate the condition of a branch if those conditions of its preceding branches evaluate to false. The first branch whose condition evaluates to true gets its i is less than of 53 Semantics of if Statement (2.2) No satisfying branches, and no else part, then nothing is executed. int i = 12; if(i < 0) { System.out.println("i is negative"); else if(i < 10) { System.out.println("i is less than than 10"); else if(i == 10) { System.out.println("i is equal to 10"); body (i.e., code wrapped within { and ) executed. After this execution, all later branches are ignored. 10 of of 53

6 Primitive Statement vs. Compound Statement A statement is a block of Java code that modifies value(s) of some variable(s). An assignment (=) statement is a primitive statement: It only modifies its left-hand-side (LHS) variable. An if statement is a compound statement: Each of its branches may modify more than one variables via other statements (e.g., assignments, if statements). Logical Operators Logical operators are used to create compound Boolean expressions. Similar to arithmetic operators for creating compound number expressions. Logical operators can combine Boolean expressions that are built using the relational operators. e.g., 1 <= x && x <= 10 e.g., x < 1 x > 10 We consider three logical operators: Java Operator Description Meaning! logical negation not && logical conjunction and logical disjunction or 21 of of 53 Compound if Statement: Example 1 int x = input.nextint(); 2 int y = 0; 3 if (x >= 0) { 4 System.out.println("x is positive"); 5 if (x > 10) { y = x * 2; 6 else if (x < 10) { y = x % 2; 7 y = x * x; 8 9 /* x < 0 */ 10 System.out.println("x is negative"); 11 if(x < -5) { y = -x; 12 Exercise: Draw a flow chart for the above compound statement. Logical Negation Logical negation is a unary operator (i.e., one operand being a Boolean expression). The result is the negated value of its operand. Operand op true false!op false true double radius = input.nextdouble(); boolean ispositive = radius > 0; if (!ispositive) {/* not the case that ispositive is true */ System.out.println("Error: negative radius value."); System.out.println("Area is " + radius * radius * PI); 22 of of 53

7 Logical Conjunction Logical conjunction is a binary operator (i.e., two operands, each being a Boolean expression). The conjunction is true only when both operands are true. If one of the operands is false, their conjunction is false. 25 of 53 Left Operand op1 Right Operand op2 op1 && op2 true true true true false false false true false false false false double age = input.nextint(); boolean isoldenough = age >= 45; boolean isnottooold = age < 65 if (!isoldenough) { /* young */ else if (isoldenough && isnottooold) { /* middle-aged */ /* senior */ Logical Laws (1) The negation of a strict inequality is a non-strict inequality. Relation Negation Equivalence e.g., i > j!(i > j) i <= j i >= j!(i >= j) i < j i < j!(i < j) i >= j i <= j!(i <= j) i > j if( i > j ) { /* Action 1 */ /* implicit:!(i > j), equivalent to i <= j */ /* Action 2 */ Action 1 is executed when i > j Action 2 is executed when i <= j. 27 of 53 Logical Disjunction Logical disjunction is a binary operator (i.e., two operands, each being a Boolean expression). The disjunction is false only when both operands are false. If one of the operands is true, their disjunction is true. 26 of 53 Left Operand op1 Right Operand op2 op1 op2 false false false true false true false true true true true true double age = input.nextint(); boolean issenior = age >= 65; boolean ischild = age < 18 if (issenior ischild) { /* discount */ /* no discount */ Logical Laws (2.1) Say we have two Boolean expressions B 1 and B 2 : What does!(b 1 && B 2 ) mean? It is not the case that both B 1 and B 2 are true. What does!b 1!B 2 mean? It is either B 1 is false, B 2 is false, or both are false. Both expressions are equivalent! 28 of 53 [proved by the truth table] B 1 B 2! (B 1 && B 2 )! B 1! B 2 true true false false true false true true false true true true false false true true

8 Logical Laws (2.2) if(0 <= i && i <= 10) { /* Action 1 */ /* Action 2 */ When is Action 2 executed? i < 0 i > 10 if(i < 0 && false) { /* Action 1 */ /* Action 2 */ Logical Laws (3.2) if(i < 0 i > 10) { /* Action 1 */ /* Action 2 */ When is Action 2 executed? 0 <= i && i <= 10 if(i < 0 true) { /* Action 1 */ /* Action 2 */ When is Action 1 executed? When is Action 2 executed? false true When is Action 1 executed? When is Action 2 executed? true false if(i < 0 && i > 10) { /* Action 1 */ /* Action 2 */ if(i < 10 i >= 10) { /* Action 1 */ /* Action 2 */ When is Action 1 executed? When is Action 2 executed? false true Lesson: Be careful not to write branching conditions that use && but always evaluate to false. 29 of 53 When is Action 1 executed? true When is Action 2 executed? i >= 10 && i < 10 (i.e., false) Lesson: Be careful not to write branching conditions that use but always evaluate to true. 31 of 53 Logical Laws (3.1) Say we have two Boolean expressions B 1 and B 2 : What does!(b 1 B 2 ) mean? It is not the case that either B 1 is true, B 2 is true, or both are true. What does!b 1 &&!B 2 mean? Both B 1 and B 2 are false. Both expressions are equivalent! 30 of 53 [proved by the truth table] B 1 B 2! (B 1 B 2 )! B 1 &&! B 2 true true false false true false false false false true false false false false true true Logical Operators: Short-Circuit Evaluation Both Boolean operators && and evaluate from left to right. Operator && continues to evaluate only when operands so far evaluate to true. if (x!= 0 && y / x > 2) { /* do something */ /* print error */ Operator continues to evaluate only when operands so far evaluate to false. if (x == 0 y / x <= 2) { /* print error */ /* do something */ 32 of 53

10 Common Error 2: Misplaced Semicolon Semicolon (;) in Java marks the end of a statement (e.g., assignment, if statement). if (radius >= 0); { area = radius * radius * PI; System.out.println("Area is " + area); This program will calculate and output the area even when the input radius is negative, why? Fix? if (radius >= 0) { area = radius * radius * PI; System.out.println("Area is " + area); 37 of 53 Overlapping Boolean Conditions (2) Say we have two overlapping conditions x >= 5 and x >= 0: What values make both conditions true? [5, 6, 7,...] Which condition is more general? [x >= 0] If we have a single if statement, then having this order if(x >= 5) { System.out.println("x >= 5"); else if(x >= 0) { System.out.println("x >= 0"); is different from having this order if(x >= 0) { System.out.println("x >= 0"); else if(x >= 5) { System.out.println("x >= 5"); Say x is 5, then we have What output from the first program? [x >= 5] What output from the second program? [x >= 0, not specific enough!] The cause of the not-specific-enough problem of the second program is that we did not check the more specific condition (x >= 5) before checking the more general condition (x >= 0). 39 of 53 Overlapping Boolean Conditions (1) Two or more conditions overlap if they can evaluate to true simultaneously. e.g., Say marks is declared as an integer variable: marks >= 80 and marks >= 70 overlap. [why?] Values 80, 81, 82,... make both conditions true marks >= 80 has fewer satisfying values than marks >= 70 We say marks >= 80 is more specific than marks >= 70 Or, we say marks >= 70 is more general than marks >= 80 marks <= 65 and marks <= 75 overlap. [why?] Values 65, 64, 63,... make both conditions true marks <= 65 has fewer satisfying values than marks <= 75 We say marks <= 65 is more specific than marks <= 75 Or, we say marks <= 75 is more general than marks <= of 53 Common Error 3: Independent if Statements with Overlapping Conditions if (marks >= 80) { System.out.println("A"); if (marks >= 70) { System.out.println("B"); if (marks >= 60) { System.out.println("C"); System.out.println("F"); /* Consider marks = 84 */ if (marks >= 80) { System.out.println("A"); else if (marks >= 70) { System.out.println("B"); else if (marks >= 60) { System.out.println("C"); System.out.println("F"); /* Consider marks = 84 */ Conditions in a list of if statements are checked independently. In a single if statement, only the first satisfying branch is executed. 40 of 53

12 Common Errors 6: Ambiguous else (2) Fix? Use pairs of curly braces ({) to force what you really mean to specify! if (x >= 0) { if (x > 100) { System.out.println("x is larger than 100"); System.out.println("x is negative"); Common Pitfall 2: Repeated Code (1) if (status == 1) { /* single filing mechanism for tax */ if (income <= 8350) { double part1 = income * 0.10; double tax = part1; System.out.println("Tax amount: " + tax); else if (income <= 33950) { double part1 = 8350 * 0.1; double part2 = (income ) * 0.15; double tax = part1 + part2; System.out.println("Tax amount: " + tax); double part1 = 8350 * 0.1; double part2 = ( ) * 0.15; double part3 = (income ) * 0.25; double tax = part1 + part2 + part3; System.out.println("Tax amount: " + tax); This code is correct, but it smells due to lots of code repetition! 45 of of 53 Common Pitfall 1: Updating Boolean Variable boolean iseven; if (number % 2 == 0) { iseven = true; iseven = false; Correct, but simplifiable : boolean iseven = (number%2 == 0); Similarly, how would you simply the following? if (iseven == false) { System.out.println("Odd Number"); System.out.println("Even Number"); 46 of 53 Simplify iseven == false to!iseven Common Pitfall 2: Repeated Code (2) if (status == 1) { /* single filing mechanism for tax */ double part1 = 0; double part2 = 0; double part3 = 0; double tax = 0; if (income <= 8350) { part1 = income * 0.10; else if (income <= 33950) { part1 = 8350 * 0.1; part2 = (income ) * 0.15; part1 = 8350 * 0.1; part2 = ( ) * 0.15; part3 = (income ) * 0.25; tax = part1 + part2 + part3; System.out.println("Tax amount: " + tax); 48 of 53

13 Scope of Variables (1) When you declare a variable, there is a limited scope where the variable can be used. If the variable is declared directly under the main method, then all lines of code (including branches of if statements) may either re-assign a new value to it or use its value. public static void main(string[] args) { int i = input.nextint(); System.out.println("i is " + i); if (i > 0) { i = i * 3; /* both use and re-assignment, why? */ i = i * -3; /* both use and re-assignment, why? */ System.out.println("3 * i is " + i); Scope of Variables (2.2) A variable declared under an if branch, an else if branch, or an else branch, cannot be re-assigned or used outside its scope. public static void main(string[] args) { int i = input.nextint(); if (i > 0) { int j = i * 3; /* a new variable j */ if (j > 10) {... int k = i * -3; /* a new variable also called j */ if ( j < k) { of of 53 Scope of Variables (2.1) Scope of Variables (2.3) If the variable is declared under an if branch, an else if branch, or an else branch, then only lines of code appearing within that branch (i.e., its body) may either re-assign a new value to it or use its value. public static void main(string[] args) { int i = input.nextint(); if (i > 0) { int j = i * 3; /* a new variable j */ if (j > 10) {... int j = i * -3; /* a new variable also called j */ if (j < 10) {... A variable declared under an if branch, an else if branch, or an else branch, cannot be re-assigned or used outside its scope. public static void main(string[] args) { int i = input.nextint(); if (i > 0) { int j = i * 3; /* a new variable j */ if (j > 10) {... int j = i * -3; /* a new variable also called j */ if (j < 10) {... System.out.println("j is " + j ); 50 of of 53

14 Index (1) Learning Outcomes Motivating Examples (1.1) Motivating Examples (1.2) Motivating Examples (2.1) Motivating Examples (2.2) The boolean Data Type Syntax of if Statement Semantics of if Statement (1.1) Semantics of if Statement (1.2) Semantics of if Statement (2.1) Semantics of if Statement (2.2) Semantics of if Statement (2.3) Case Study: Error Handing of Input Radius (1) Case Study: Error Handing of Input Radius (2) 53 of 53 Index (3) Logical Operators: Laws (3.1) Logical Operators: Laws (3.2) Logical Operators: Short-Circuit Evaluation Operator Precedence Operator Associativity Common Error 1: Missing Braces (1) Common Error 1: Missing Braces (2) Common Error 2: Misplaced Semicolon Overlapping Boolean Conditions (1) Overlapping Boolean Conditions (2) Common Error 3: Independent if Statements with Overlapping Conditions Common Error 4: if-elseif Statement with Most General Condition First (1) 55 of 53 Index (2) One if Stmt vs. Multiple if Stmts (1) One if Stmt vs. Multiple if Stmts (2) Two-Way if Statement without else Part Multi-Way if Statement with else Part Multi-Way if Statement without else Part Primitive Statement vs. Compound Statement Compound if Statement: Example Logical Operators Logical Operators: Negation Logical Operators: Conjunction Logical Operators: Disjunction Logical Operators: Laws (1) Logical Operators: Laws (2.1) Logical Operators: Laws (2.2) 54 of 53 Index (4) Common Error 4: if-elseif Statement with Most General Condition First (2) Common Error 5: Variable Not Properly Re-Assigned Common Error 6: Ambiguous else (1) Common Error 6: Ambiguous else (2) Common Pitfall 1: Updating Boolean Variable Common Pitfall 2: Repeated Code (1) Common Pitfall 2: Repeated Code (2) Scope of Variables (1) Scope of Variables (2.1) Scope of Variables (2.2) Scope of Variables (2.3) 56 of 53

### Selections. EECS1021: Object Oriented Programming: from Sensors to Actuators Winter 2019 CHEN-WEI WANG

Selections EECS1021: Object Oriented Programming: from Sensors to Actuators Winter 2019 CHEN-WEI WANG Learning Outcomes The Boolean Data Type if Statement Compound vs. Primitive Statement Common Errors

### Elementary Programming

Elementary Programming EECS1022: Programming for Mobile Computing Winter 2018 CHEN-WEI WANG Learning Outcomes Learn ingredients of elementary programming: data types [numbers, characters, strings] literal

### Tester vs. Controller. Elementary Programming. Learning Outcomes. Compile Time vs. Run Time

Tester vs. Controller Elementary Programming EECS1022: Programming for Mobile Computing Winter 2018 CHEN-WEI WANG For effective illustrations, code examples will mostly be written in the form of a tester

### IEEE Floating-Point Representation 1

IEEE Floating-Point Representation 1 x = ( 1) s M 2 E The sign s determines whether the number is negative (s = 1) or positive (s = 0). The significand M is a fractional binary number that ranges either

### Data Types. 1 You cannot change the type of the variable after declaration. Zheng-Liang Lu Java Programming 52 / 87

Data Types Java is a strongly-typed 1 programming language. Every variable has a type. Also, every (mathematical) expression has a type. There are two categories of data types: primitive data types, and

### false, import, new 1 class Lecture2 { 2 3 "Data types, Variables, and Operators" 4

1 class Lecture2 { 2 3 "Data types, Variables, and Operators" 4 5 } 6 7 // Keywords: 8 byte, short, int, long, char, float, double, boolean, true, false, import, new Zheng-Liang Lu Java Programming 45

### Chapter 3 Selection Statements

Chapter 3 Selection Statements 3.1 Introduction Java provides selection statements that let you choose actions with two or more alternative courses. Selection statements use conditions. Conditions are

### Tester vs. Controller. Elementary Programming. Learning Outcomes. Compile Time vs. Run Time

Tester vs. Controller Elementary Programming EECS1022: Programming for Mobile Computing Winter 2018 CHEN-WEI WANG For effective illustrations, code examples will mostly be written in the form of a tester

### Elementary Programming

Elementary Programming EECS1022: Programming for Mobile Computing Winter 2018 CHEN-WEI WANG Learning Outcomes Learn ingredients of elementary programming: data types [numbers, characters, strings] literal

### Entry Point of Execution: the main Method. Elementary Programming. Learning Outcomes. Development Process

Entry Point of Execution: the main Method Elementary Programming EECS1021: Object Oriented Programming: from Sensors to Actuators Winter 2019 CHEN-WEI WANG For now, all your programming exercises will

### Loops. EECS1021: Object Oriented Programming: from Sensors to Actuators Winter 2019 CHEN-WEI WANG

Loops EECS1021: Object Oriented Programming: from Sensors to Actuators Winter 2019 CHEN-WEI WANG Learning Outcomes Understand about Loops : Motivation: Repetition of similar actions Two common loops: for

### Loops. EECS1022: Programming for Mobile Computing Winter 2018 CHEN-WEI WANG

Loops EECS1022: Programming for Mobile Computing Winter 2018 CHEN-WEI WANG Learning Outcomes Understand about Loops : Motivation: Repetition of similar actions Two common loops: for and while Primitive

### Introduction to OOP with Java. Instructor: AbuKhleif, Mohammad Noor Sep 2017

Introduction to OOP with Java Instructor: AbuKhleif, Mohammad Noor Sep 2017 Lecture 03: Control Flow Statements: Selection Instructor: AbuKhleif, Mohammad Noor Sep 2017 Instructor AbuKhleif, Mohammad Noor

### Chapter 3 Selections. 3.1 Introduction. 3.2 boolean Data Type

3.1 Introduction Chapter 3 Selections Java provides selections that let you choose actions with two or more alternative courses. Selection statements use conditions. Conditions are Boolean expressions.

### Motivation of Loops. Loops. The for Loop (1) Learning Outcomes

Motivation of Loops Loops EECS1021: Object Oriented Programming: from Sensors to Actuators Winter 2019 CHEN-WEI WANG We may want to repeat the similar action(s) for a (bounded) number of times. e.g., Print

### Motivation of Loops. Loops. The for Loop (1) Learning Outcomes

Motivation of Loops Loops EECS1022: Programming for Mobile Computing Winter 2018 CHEN-WEI WANG We may want to repeat the similar action(s) for a (bounded) number of times. e.g., Print the Hello World message

### Logic is the anatomy of thought. John Locke ( ) This sentence is false.

Logic is the anatomy of thought. John Locke (1632 1704) This sentence is false. I know that I know nothing. anonymous Plato (In Apology, Plato relates that Socrates accounts for his seeming wiser than

### Arithmetic Compound Assignment Operators

Arithmetic Compound Assignment Operators Note that these shorthand operators are not available in languages such as Matlab and R. Zheng-Liang Lu Java Programming 76 / 141 Example 1... 2 int x = 1; 3 System.out.println(x);

### ++x vs. x++ We will use these notations very often.

++x vs. x++ The expression ++x first increments the value of x and then returns x. Instead, the expression x++ first returns the value of x and then increments itself. For example, 1... 2 int x = 1; 3

### Entry Point of Execution: the main Method. Elementary Programming. Compile Time vs. Run Time. Learning Outcomes

Entry Point of Execution: the main Method Elementary Programming EECS2030: Advanced Object Oriented Programming Fall 2017 CHEN-WEI WANG For now, all your programming exercises will be defined within the

### Motivations. Chapter 3: Selections and Conditionals. Relational Operators 8/31/18. Objectives. Problem: A Simple Math Learning Tool

Chapter 3: Selections and Conditionals CS1: Java Programming Colorado State University Motivations If you assigned a negative value for radius in Listing 2.2, ComputeAreaWithConsoleInput.java, the program

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

Selec%on and Decision Structures in Java: If Statements and Switch Statements CSC 121 Spring 2016 Howard Rosenthal Lesson Goals Understand Control Structures Understand how to control the flow of a program

### Scanner Objects. Zheng-Liang Lu Java Programming 82 / 133

Scanner Objects It is not convenient to modify the source code and recompile it for a different radius. Reading from the console enables the program to receive an input from the user. A Scanner object

### 1 class Lecture3 { 2 3 "Selections" // Keywords 8 if, else, else if, switch, case, default. Zheng-Liang Lu Java Programming 88 / 133

1 class Lecture3 { 2 3 "Selections" 4 5 } 6 7 // Keywords 8 if, else, else if, switch, case, default Zheng-Liang Lu Java Programming 88 / 133 Flow Controls The basic algorithm (and program) is constituted

### CS1150 Principles of Computer Science Boolean, Selection Statements

CS1150 Principles of Computer Science Boolean, Selection Statements Yanyan Zhuang Department of Computer Science http://www.cs.uccs.edu/~yzhuang CS1150 Math Center https://www.uccs.edu/mathcenter/schedules

### CCHAPTER SELECTION STATEMENTS HAPTER 3. Objectives

LIANMC03v3_0132221586.QXD 5/15/06 7:41 PM Page 67 CCHAPTER HAPTER 3 1 SELECTION STATEMENTS Objectives To declare boolean type and write Boolean expressions ( 3.2). To distinguish between conditional and

### CONDITIONAL EXECUTION

CONDITIONAL EXECUTION yes x > y? no max = x; max = y; logical AND logical OR logical NOT &&! Fundamentals of Computer Science I Outline Conditional Execution if then if then Nested if then statements Comparisons

### Chapter 3 Selections. Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved.

Chapter 3 Selections Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 1 Motivations If you assigned a negative value for radius

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

Selec%on and Decision Structures in Java: If Statements and Switch Statements CSC 121 Fall 2016 Howard Rosenthal Lesson Goals Understand Control Structures Understand how to control the flow of a program

### Chapter 3. Selections

Chapter 3 Selections 1 Outline 1. Flow of Control 2. Conditional Statements 3. The if Statement 4. The if-else Statement 5. The Conditional operator 6. The Switch Statement 7. Useful Hints 2 1. Flow of

### 1 class Lecture3 { 2 3 "Selections" // Keywords 8 if, else, else if, switch, case, default. Zheng-Liang Lu Java Programming 89 / 137

1 class Lecture3 { 2 3 "Selections" 4 5 } 6 7 // Keywords 8 if, else, else if, switch, case, default Zheng-Liang Lu Java Programming 89 / 137 Flow Controls The basic algorithm (and program) is constituted

### More Things We Can Do With It! Overview. Circle Calculations. πr 2. π = More operators and expression types More statements

More Things We Can Do With It! More operators and expression types More s 11 October 2007 Ariel Shamir 1 Overview Variables and declaration More operators and expressions String type and getting input

### Chapter 4: Control Structures I

Chapter 4: Control Structures I Java Programming: From Problem Analysis to Program Design, Second Edition Chapter Objectives Learn about control structures. Examine relational and logical operators. Explore

### Program Control Flow

Lecture slides for: Chapter 3 Program Control Flow Java Actually: A Comprehensive Primer in Programming Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cengage Learning, 2008. ISBN: 978-1-844480-933-2

### Program Control Flow

Lecture slides for: Chapter 3 Program Control Flow Java Actually: A Comprehensive Primer in Programming Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cengage Learning, 2008. ISBN: 978-1-844480-933-2

### COMP-202: Foundations of Programming. Lecture 3: Boolean, Mathematical Expressions, and Flow Control Sandeep Manjanna, Summer 2015

COMP-202: Foundations of Programming Lecture 3: Boolean, Mathematical Expressions, and Flow Control Sandeep Manjanna, Summer 2015 Announcements Slides will be posted before the class. There might be few

### Selections. CSE 114, Computer Science 1 Stony Brook University

Selections CSE 114, Computer Science 1 Stony Brook University http://www.cs.stonybrook.edu/~cse114 1 Motivation If you assigned a negative value for radius in ComputeArea.java, then you don't want the

### Prof. Navrati Saxena TA: Rochak Sachan

JAVA Prof. Navrati Saxena TA: Rochak Sachan Operators Operator Arithmetic Relational Logical Bitwise 1. Arithmetic Operators are used in mathematical expressions. S.N. 0 Operator Result 1. + Addition 6.

### Wentworth Institute of Technology. Engineering & Technology WIT COMP1000. Simple Control Flow: if-else statements

WIT COMP1000 Simple Control Flow: if-else statements Control Flow Control flow is the order in which program statements are executed So far, all of our programs have been executed straight-through from

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

CS101, Mock Boolean Conditions, If-Then Boolean Expressions and Conditions The physical order of a program is the order in which the statements are listed. The logical order of a program is the order in

### false, import, new 1 class Lecture2 { 2 3 "Data types, Variables, and Operators" 4

1 class Lecture2 { 2 3 "Data types, Variables, and Operators" 4 5 } 6 7 // Keywords: 8 byte, short, int, long, char, float, double, boolean, true, false, import, new Zheng-Liang Lu Java Programming 44

### Chapter 3: Operators, Expressions and Type Conversion

101 Chapter 3 Operators, Expressions and Type Conversion Chapter 3: Operators, Expressions and Type Conversion Objectives To use basic arithmetic operators. To use increment and decrement operators. To

### Lecture 1 Java SE Programming

Lecture 1 Java SE Programming presentation Java Programming Software App Development Assoc. Prof. Cristian Toma Ph.D. D.I.C.E/D.E.I.C Department of Economic Informatics & Cybernetics www.dice.ase.ro cristian.toma@ie.ase.ro

### Conditional Programming

COMP-202 Conditional Programming Chapter Outline Control Flow of a Program The if statement The if - else statement Logical Operators The switch statement The conditional operator 2 Introduction So far,

### Loops and Expression Types

Software and Programming I Loops and Expression Types Roman Kontchakov / Carsten Fuhs Birkbeck, University of London Outline The while, for and do Loops Sections 4.1, 4.3 and 4.4 Variable Scope Section

### bitwise inclusive OR Logical logical AND && logical OR Ternary ternary? : Assignment assignment = += -= *= /= %= &= ^= = <<= >>= >>>=

Operators in java Operator in java is a symbol that is used to perform operations. For example: +, -, *, / etc. There are many types of operators in java which are given below: Unary Operator, Arithmetic

### Tutorial # 4. Q1. Evaluate the logical (Boolean) expression in the following exercise

Tutorial # 4 Q1. Evaluate the logical (Boolean) expression in the following exercise 1 int num1 = 3, num2 = 2; (num1 > num2) 2 double hours = 12.8; (hours > 40.2) 3 int funny = 7; (funny!= 1) 4 double

### Selection Statements. Pseudocode

Selection Statements Pseudocode Natural language mixed with programming code Ex: if the radius is negative the program display a message indicating wrong input; the program compute the area and display

### Chapter 3, Selection. Liang, Introduction to Programming with C++, Second Edition, (c) 2010 Pearson Education, Inc. All rights reserved.

Chapter 3, Selection 1 The bool Type and Operators 2 One-way if Statements if (booleanexpression) { statement(s); } if (radius >= 0) { area = radius * radius * PI; cout

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

Control Statements Control Statements All programs could be written in terms of only one of three control structures: Sequence Structure Selection Structure Repetition Structure Sequence structure The

### JAVA OPERATORS GENERAL

JAVA OPERATORS GENERAL Java provides a rich set of operators to manipulate variables. We can divide all the Java operators into the following groups: Arithmetic Operators Relational Operators Bitwise Operators

### JAVA PROGRAMMING LAB. ABSTRACT In this Lab you will learn to define and invoke void and return java methods

Islamic University of Gaza Faculty of Engineering Computer Engineering Dept. Computer Programming Lab (ECOM 2114) ABSTRACT In this Lab you will learn to define and invoke void and return java methods JAVA

### Zheng-Liang Lu Java Programming 45 / 79

1 class Lecture2 { 2 3 "Elementray Programming" 4 5 } 6 7 / References 8 [1] Ch. 2 in YDL 9 [2] Ch. 2 and 3 in Sharan 10 [3] Ch. 2 in HS 11 / Zheng-Liang Lu Java Programming 45 / 79 Example Given a radius

### Review. Primitive Data Types & Variables. String Mathematical operators: + - * / % Comparison: < > <= >= == int, long float, double boolean char

Review Primitive Data Types & Variables int, long float, double boolean char String Mathematical operators: + - * / % Comparison: < > = == 1 1.3 Conditionals and Loops Introduction to Programming in

### Basic computer skills such as using Windows, Internet Explorer, and Microsoft Word. and Java. Chapter 2 Primitive Data Types and Operations

Basic computer skills such as using Windows, Internet Explorer, and Microsoft Word Chapter p 1 Introduction to Computers, p, Programs, g, and Java Chapter 2 Primitive Data Types and Operations Chapter

### Fundamentals of Programming Data Types & Methods

Fundamentals of Programming Data Types & Methods By Budditha Hettige Overview Summary (Previous Lesson) Java Data types Default values Variables Input data from keyboard Display results Methods Operators

### Values in 2 s Complement

Values in 2 s Complement Java uses an encoding known as 2 s complement 1, which means that negative numbers are represented by inverting 2 all of the bits in a value, then adding 1 to the result. For example,

### 3chapter C ONTROL S TATEMENTS. Objectives

3chapter C ONTROL S TATEMENTS Objectives To understand the flow of control in selection and loop statements ( 3.2 3.7). To use Boolean expressions to control selection statements and loop statements (

### Lesson 7 Part 2 Flags

Lesson 7 Part 2 Flags A Flag is a boolean variable that signals when some condition exists in a program. When a flag is set to true, it means some condition exists When a flag is set to false, it means

### Programming with Java

Programming with Java Data Types & Input Statement Lecture 04 First stage Software Engineering Dep. Saman M. Omer 2017-2018 Objectives q By the end of this lecture you should be able to : ü Know rules

### Oct Decision Structures cont d

Oct. 29 - Decision Structures cont d Programming Style and the if Statement Even though an if statement usually spans more than one line, it is really one statement. For instance, the following if statements

### Selenium Class 9 - Java Operators

Selenium Class 9 - Java Operators Operators are used to perform Arithmetic, Comparison, and Logical Operations, Operators are used to perform operations on variables and values. public class JavaOperators

### false, import, new 1 class Lecture2 { 2 3 "Data types, Variables, and Operators" 4

1 class Lecture2 { 2 3 "Data types, Variables, and Operators" 4 5 } 6 7 // Keywords: 8 byte, short, int, long, char, float, double, boolean, true, false, import, new Zheng-Liang Lu Java Programming 44

### In this chapter, you will:

Java Programming: Guided Learning with Early Objects Chapter 4 Control Structures I: Selection In this chapter, you will: Make decisions with the if and if else structures Use compound statements in an

### CIS 1068 Program Design and Abstraction Spring2016 Midterm Exam 1. Name SOLUTION

CIS 1068 Program Design and Abstraction Spring2016 Midterm Exam 1 Name SOLUTION Page Points Score 2 15 3 8 4 18 5 10 6 7 7 7 8 14 9 11 10 10 Total 100 1 P age 1. Program Traces (41 points, 50 minutes)

### Java Programming Language. 0 A history

Java Programming Language 0 A history How java works What you ll do in Java JVM API Java Features 0Platform Independence. 0Object Oriented. 0Compiler/Interpreter 0 Good Performance 0Robust. 0Security 0

### Computer Programming, I. Laboratory Manual. Experiment #3. Selections

Think Twice Code Once The Islamic University of Gaza Engineering Faculty Department of Computer Engineering Fall 2017 ECOM 2005 Khaleel I. Shaheen Computer Programming, I Laboratory Manual Experiment #3

### COMPUTER APPLICATIONS

COMPUTER APPLICATIONS (Theory) (Two hours) Answers to this Paper must be written on the paper provided separately. You will not be allowed to write during the first 15 minutes. This time is to be spent

### 1 class Lecture2 { 2 3 "Elementray Programming" / References 8 [1] Ch. 2 in YDL 9 [2] Ch. 2 and 3 in Sharan 10 [3] Ch.

1 class Lecture2 { 2 3 "Elementray Programming" 4 5 } 6 7 / References 8 [1] Ch. 2 in YDL 9 [2] Ch. 2 and 3 in Sharan 10 [3] Ch. 2 in HS 11 / Zheng-Liang Lu Java Programming 41 / 68 Example Given the radius

### Computational Expression

Computational Expression Conditionals Janyl Jumadinova 10 October, 2018 Janyl Jumadinova Computational Expression 10 October, 2018 1 / 16 Computational Thinking: a problem solving process Decomposition

### Syntax of Eiffel: a Brief Overview

Syntax of Eiffel: a Brief Overview EECS3311 A: Software Design Fall 2018 CHEN-WEI WANG Escape Sequences Escape sequences are special characters to be placed in your program text. In Java, an escape sequence

### Introduction to the Java Basics: Control Flow Statements

Lesson 3: Introduction to the Java Basics: Control Flow Statements Repetition Structures THEORY Variable Assignment You can only assign a value to a variable that is consistent with the variable s declared

### Commands, and Queries, and Features. Syntax of Eiffel: a Brief Overview. Escape Sequences. Naming Conventions

Commands, and Queries, and Features Syntax of Eiffel: a Brief Overview EECS3311 A: Software Design Fall 2018 CHEN-WEI WANG In a Java class: Attributes: Data Mutators: Methods that change attributes without

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

JAVA OPERATORS GENERAL Java provides a rich set of operators to manipulate variables. We can divide all the Java operators into the following groups: Arithmetic Operators Relational Operators Bitwise Operators

### CA4003 Compiler Construction Assignment Language Definition

CA4003 Compiler Construction Assignment Language Definition David Sinclair 2017-2018 1 Overview The language is not case sensitive. A nonterminal, X, is represented by enclosing it in angle brackets, e.g.

### Building Java Programs

Building Java Programs Chapter 2 Lecture 2-1: Expressions and Variables reading: 2.1-2.2 1 2 Data and expressions reading: 2.1 3 The computer s view Internally, computers store everything as 1 s and 0

### Controls Structure for Repetition

Controls Structure for Repetition So far we have looked at the if statement, a control structure that allows us to execute different pieces of code based on certain conditions. However, the true power

2 Introduction to Java Applications: Solutions What s in a name? That which we call a rose By any other name would smell as sweet. William Shakespeare When faced with a decision, I always ask, What would

### Flow of Control. Chapter 3

Walter Savitch Frank M. Carrano Flow of Control Chapter 3 Outline The if-else statement The Type boolean The switch statement Flow of Control Flow of control is the order in which a program performs actions.

### Building Java Programs

Building Java Programs Chapter 2 Lecture 2-1: Expressions and Variables reading: 2.1-2.2 1 Data and expressions reading: 2.1 self-check: 1-4 videos: Ch. 2 #1 2 Data types type: A category or set of data

### Chapter 3. Flow of Control. Branching Loops exit(n) method Boolean data type and expressions

Chapter 3 Flow of Control Branching Loops exit(n) method Boolean data type and expressions Chapter 3 Java: an Introduction to Computer Science & Programming - Walter Savitch 1 What is Flow of Control?

### Building Java Programs

Building Java Programs Chapter 4 Lecture 4-1: if and if/else Statements reading: 4.2 self-check: #4-5, 7, 10, 11 exercises: #7 videos: Ch. 4 #2-4 The if/else statement Executes one block if a test is true,

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

Module 3 SELECTION STRUCTURES 2/15/19 CSE 1321 MODULE 3 1 Motivation In the programs we have written thus far, statements are executed one after the other, in the order in which they appear. Programs often

### Object-Oriented Programming

Object-Oriented Programming Java Syntax Program Structure Variables and basic data types. Industry standard naming conventions. Java syntax and coding conventions If Then Else Case statements Looping (for,

### H212 Introduction to Software Systems Honors

Introduction to Software Systems Honors Lecture #04: Fall 2015 1/20 Office hours Monday, Wednesday: 10:15 am to 12:00 noon Tuesday, Thursday: 2:00 to 3:45 pm Office: Lindley Hall, Room 401C 2/20 Printing

### Flow of Control. Chapter 3

Flow of Control Chapter 3 Outline The if-else Stetement The Type boolean The switch statement Flow of Control Flow of control is the order in which a program performs actions. Up to this point, the order

### (Not Quite) Minijava

(Not Quite) Minijava CMCS22620, Spring 2004 April 5, 2004 1 Syntax program mainclass classdecl mainclass class identifier { public static void main ( String [] identifier ) block } classdecl class identifier

### Building Java Programs

Building Java Programs Chapter 2 Lecture 2-1: Expressions and Variables reading: 2.1-2.2 Copyright 2009 by Pearson Education Data and expressions reading: 2.1 self-check: 1-4 videos: Ch. 2 #1 Copyright

### 7/8/10 KEY CONCEPTS. Problem COMP 10 EXPLORING COMPUTER SCIENCE. Algorithm. Lecture 2 Variables, Types, and Programs. Program PROBLEM SOLVING

KEY CONCEPTS COMP 10 EXPLORING COMPUTER SCIENCE Lecture 2 Variables, Types, and Programs Problem Definition of task to be performed (by a computer) Algorithm A particular sequence of steps that will solve

### Eng. Mohammed S. Abdualal

Islamic University of Gaza Faculty of Engineering Computer Engineering Dept. Computer Programming Lab (ECOM 2114) Created by Eng: Mohammed Alokshiya Modified by Eng: Mohammed Abdualal Lab 3 Selections

### Algorithms and Conditionals

Algorithms and Conditionals CSC 1051 Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website: www.csc.villanova.edu/~map/1051/

### Chapter 2 ELEMENTARY PROGRAMMING

Chapter 2 ELEMENTARY PROGRAMMING Lecture notes for computer programming 1 Faculty of Engineering and Information Technology Prepared by: Iyad Albayouk ١ Objectives To write Java programs to perform simple

### CEN 414 Java Programming

CEN 414 Java Programming Instructor: H. Esin ÜNAL SPRING 2017 Slides are modified from original slides of Y. Daniel Liang WEEK 2 ELEMENTARY PROGRAMMING 2 Computing the Area of a Circle public class ComputeArea

### Please answer the following questions. Do not re-code the enclosed codes if you have already completed them.

Dec. 9 Loops Please answer the following questions. Do not re-code the enclosed codes if you have already completed them. What is a loop? What are the three loops in Java? What do control structures do?

### CSE 20. SAMPLE FINAL Version A Time: 180 minutes. The following precedence table is provided for your use:

CSE 20 SAMPLE FINAL Version A Time: 180 minutes Name The following precedence table is provided for your use: Precedence of Operators ( ) - (unary),!, ++, -- *, /, % +, - (binary) = = =,!= &&

### Building Java Programs Chapter 2

Building Java Programs Chapter 2 Primitive Data and Definite Loops Copyright (c) Pearson 2013. All rights reserved. Data types type: A category or set of data values. Constrains the operations that can

### CS 106 Introduction to Computer Science I

CS 106 Introduction to Computer Science I 06 / 04 / 2015 Instructor: Michael Eckmann Today s Topics Questions / comments? Calling methods (noting parameter(s) and their types, as well as the return type)

### Boolean Expressions. So, for example, here are the results of several simple Boolean expressions:

Boolean Expressions Now we have the ability to read in some information, calculate some formulas and display the information to the user in a nice format. However, the real power of computer programs lies