Relational Expressions Relational expressions Expressions that compare operands

  • Slides: 42
Download presentation
Relational Expressions • Relational expressions: – Expressions that compare operands – Sometimes called conditions

Relational Expressions • Relational expressions: – Expressions that compare operands – Sometimes called conditions – Evaluated to yield a result – Typically used as part of a selection statement • A simple relational expression consists of a relational operator connecting two variable and/or constant operands

3

3

Logical Operators • Complex conditions can be created using Boolean logical operations: – AND

Logical Operators • Complex conditions can be created using Boolean logical operations: – AND – OR – NOT • AND operator – && – True only if both individual expressions are true by themselves

Logical Operators (continued) • OR operator – || – True if either one or

Logical Operators (continued) • OR operator – || – True if either one or both of two expressions are true • NOT operator – ! – Changes expression to opposite state • Relational operators have higher precedence than logical operators

Logical Operators (continued) • && and || operators: – Can only be used with

Logical Operators (continued) • && and || operators: – Can only be used with Boolean operands – Second operand not evaluated if evaluation of first is sufficient to determine final value of logical operation

7

7

A Numerical Accuracy Problem • Tests for equality of numbers using relational operator ==

A Numerical Accuracy Problem • Tests for equality of numbers using relational operator == should be avoided – Applies to: • Floating-point • Double-precision • Many decimal numbers cannot be represented exactly in binary using a finite number of bits • Require that absolute value of difference between operands be less than an extremely small value

The if-else Statement • Directs computer to select a sequence of instructions based on

The if-else Statement • Directs computer to select a sequence of instructions based on the result of a comparison • Condition is evaluated first – If the value of condition is true statement 1 is executed – If the value is false the statement after reserved word else is executed

The if-else Statement (continued) if (condition) <---------no semicolon here statement 1; else <---------no semicolon

The if-else Statement (continued) if (condition) <---------no semicolon here statement 1; else <---------no semicolon here statement 2;

Compound Statements • Any number of single statements contained between braces • Takes place

Compound Statements • Any number of single statements contained between braces • Takes place of single statement • Semicolon is not placed after braces that define compound statement

The Boolean Data Type • Tested condition in if-else statement must always evaluate to

The Boolean Data Type • Tested condition in if-else statement must always evaluate to a Boolean value • Value of condition must be either true or false • The boolean data type is restricted in its usage as the value of a relational expression • Boolean values can be: – Displayed – Compared – Assigned

One-Way Selection • No else expression • Syntax: if (condition) statement; • The statement

One-Way Selection • No else expression • Syntax: if (condition) statement; • The statement following if (condition) is only executed if condition has a true value

Placement of Braces in a Compound Statement • Common practice for some programmers: –

Placement of Braces in a Compound Statement • Common practice for some programmers: – Place opening brace of compound statement on same line as if and else statements if (condition) { statement 1; } else { statement 2; }

Nested if Statements • One or more if-else statements can be included within either

Nested if Statements • One or more if-else statements can be included within either part of if-else statement • Last else is with closest unpaired if – Unless braces alter default pairing • Process of nesting if statements can be extended indefinitely

The if-else Chain • Else part of an if statement contains another if-else statement

The if-else Chain • Else part of an if statement contains another if-else statement • Syntax: if (expression 1) statement 1; else if (expression 2) statement 2; else statement 3;

The if-else Chain (continued) • Alternate syntax: if (expression 1) statement 1; else if

The if-else Chain (continued) • Alternate syntax: if (expression 1) statement 1; else if (expression 2) statement 2; else statement 3; • Used extensively in programming applications

The switch Statement • Provides alternative to if-else chain – For cases that compare

The switch Statement • Provides alternative to if-else chain – For cases that compare the value of an integer expression to a specific value • Reserved words: – Switch – Case – Default – Break

Switch Syntax switch (expression) { // start of compound statement case value-1: <------terminated with

Switch Syntax switch (expression) { // start of compound statement case value-1: <------terminated with a colon statement 1; statement 2; break; case value-2: <-------terminated with a colon statementm; statementn; break; default: <----------terminated with a colon statementaa; statementbb; } // end of switch and compound statement

The switch Statement (continued) • Once entry point has been located: – All further

The switch Statement (continued) • Once entry point has been located: – All further case evaluations are ignored – Execution continues through end of compound statement – Unless break statement is encountered • The break statement causes an immediate exit from the switch statement

Program Design and Development: Introduction to UML • Explicit design – Should always be

Program Design and Development: Introduction to UML • Explicit design – Should always be undertaken before coding begins – Referred to as program modeling • Unified Modeling Language (UML) – Program modeling language with its own set of rules and notations – Not part of Java language

Program Design and Development: Introduction to UML (continued) • Must understand specify: – What

Program Design and Development: Introduction to UML (continued) • Must understand specify: – What the objects in the system are – What can happen to these objects – When it can happen • Each item is addressed by a number of individual and separate views and diagrams

UML Diagram Types • • • Class Object State Sequence Activity Use-case • Component

UML Diagram Types • • • Class Object State Sequence Activity Use-case • Component • Deployment • Collaboration 25

Class and Object Diagrams • Class diagrams – Used to describe classes and their

Class and Object Diagrams • Class diagrams – Used to describe classes and their relationships • Object diagrams – Describe specific objects and relationships • Attribute – Characteristic that each object in class must have • Attribute type – Primitive type – Class type

Class and Object Diagrams (continued) • Visibility – Defines where the attribute can be

Class and Object Diagrams (continued) • Visibility – Defines where the attribute can be seen – Whether the attribute can be used in other classes or is restricted to the class defining it • Operations – Transformations that can be applied to attributes – Ultimately coded as Java methods

Relationships • The three basic relationships include: – Association – Aggregation – Generalization

Relationships • The three basic relationships include: – Association – Aggregation – Generalization

32

32

Application: A Date Class • Need to develop a date class • Extremely important

Application: A Date Class • Need to develop a date class • Extremely important in financial programs • Design stages: – Identify type of objects – Decide how Date object is internally represented • Identify attributes – Identify initial set of operations

User Interfaces, Definitions, and Information Hiding • User interface consists of: – Class’s public

User Interfaces, Definitions, and Information Hiding • User interface consists of: – Class’s public member methods’ header lines – Supporting comments • Definition consists of: – Class’s definition section – Class’s private data members • Information hiding refers to the principle that how a class is internally constructed is not relevant to any programmer who wishes to use the class

Simplifying the Code • Once a program is working, simplify the code: – Remove

Simplifying the Code • Once a program is working, simplify the code: – Remove print statements – Use methods such as set. Date() to initialize values in constructors

Adding Class Methods Leap Year Algorithm If the year is divisible by 4 with

Adding Class Methods Leap Year Algorithm If the year is divisible by 4 with a remainder of 0 AND the year is divisible by 100 with a nonzero remainder OR the year is divisible by 400 with no remainder then the year is a leap year Else the year is not a leap year End. If

Common Programming Errors • Assuming the if-else statement is selecting an incorrect choice when

Common Programming Errors • Assuming the if-else statement is selecting an incorrect choice when the problem is really the values being tested • Using nested if statements without including braces to clearly indicate the desired structure • Mistakenly using the assignment operator = instead of the relational operator == when comparing Boolean data • Forgetting to use a break statement to close off a case within a switch statement

Summary • Relational expressions: – Referred to as conditions – Used to compare operands

Summary • Relational expressions: – Referred to as conditions – Used to compare operands • if-else statements: – Used to select between two alternative statements – Based on a value of a relational or logical expression – Can contain other if-else statements

Summary (continued) • A compound statement consists of a number of individual statements enclosed

Summary (continued) • A compound statement consists of a number of individual statements enclosed within the brace pair { and } • The switch statement is a multiway selection statement