COMP 14 Introduction to Programming

1 / 39

# COMP 14 Introduction to Programming - PowerPoint PPT Presentation

COMP 14 Introduction to Programming. Miguel A. Otaduy May 18, 2004. Today. Control Structures Relational Operators Comparing Strings Boolean Expressions If statements If-Else statements. Example: Parallel Parking. Some words used in the algorithm: when, until, if, otherwise, once…

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## COMP 14 Introduction to Programming

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### COMP 14Introduction to Programming

May 18, 2004

Today
• Control Structures
• Relational Operators
• Comparing Strings
• Boolean Expressions
• If statements
• If-Else statements
Example: Parallel Parking
• Some words used in the algorithm:

when, until, if, otherwise, once…

• How can we express them in Java?
Control Structures

Three methods of processing a program:

• In sequence
• statements are executed one after another in order
• Branching
• altering the flow of program execution by making a selection or choice
• Looping
• altering the flow of program execution by repetition of statement(s)
Examples of Conditionals

Note: the following are not actual Java statements

1) if (score is greater than or equal to 90)

2) if (hours worked are less than or equal to 40)

wages = rate * hours

otherwise

wages = (rate * 40) + 1.5 * (rate * (hours - 40))

3) if (temperature is greater than 70 degrees and it is not raining)

recommended activity is golfing

Relational Operators
• Relational Operator
• allows you to make comparisons in a program
• binary operator
• needs two operands
• Condition is represented by a logical (Boolean) expression
• expression that has a value of either true or false
Relational Operators
• Less than<
• Greater than>
• Equal to==
• not assignment ‘=‘
• Not equal to !=
• Less than or equal to<=
• Greater than or equal to >=
Comparing Characters
• In Java, characters are ordered according to the Unicode / ASCII character set (pg. 855)
• ‘a’ comes before ‘b’ in the character set, so we can say ‘a’ < ‘b’
• Order
• space character (' ')
• digits (‘0’, ‘1’, …)
• uppercase
• lowercase
• Application: sort alphabetically
Comparing Characters
• 'a' > 'A'
• '6' < 7
• ' ' <= 's'

97 > 65 true

54 < 7 false

32 <= 115 true

Comparing Floating-Point
• Be careful when using the equality (==) to compare floating point numbers
• Every bit in the representation must be equal
• computer can only store a certain number of digits after the decimal
• If the numbers are results of computation, it’s unlikely that two floating point numbers will be exactly equal

0.9999999999999999

Comparing Floating-Point

3.0 / 7.0

2.0 / 7.0

(3.0 / 7.0) + (2.0 / 7.0) + (2.0 / 7.0) == 1

0.4285714285714285

0.2857142857142857

false

If we did this math with exact arithmetic, this expression would be true

Comparing Strings
• Strings are compared on a character-by-character basis
• first character not in common determines how the strings compare
• ex: "Airplane" is less than "Airport"
• If two strings have different lengths, and one is a substring of the other, the shorter one is evaluated as less
• ex: "Air" is less than "Airplane"
Comparing Strings

Don't use relational operators (==, <, >)

for Strings

str1.compareTo (str2)

Returns an integer value:

• < 0 if str1 is less than str2
• 0 if str1 is equal to str2
• >0 if str1 is greater than str2

str1.equals (str2)

Returns a boolean value of true or false

parameter

method

Questions

Given String str = "Homer";

str.compareTo("Marge")

str.equals("homer")

str.compareTo("Bart")

negative value

false

positive value

Boolean Expressions
• Remember that booleans in Java are
• true
• false
• A boolean expression is an expression that can be evaluated to either true or false
• Examples of boolean expressions:
• 2+2 is not equal to 5
• a is equal to 0
• 10 is less than 5

Named for George Boole (1815-1864), the founder of symbolic logic

Boolean Operators
• NOT!(unary)

!(2+2==5)

• AND&&(binary)

(2+2==5) && (1+1==2)

• OR||(binary)

(2+2==5) || (1+1==2)

true

false

true

Boolean ExpressionsExamples
• Simple:
• 2+2 is not equal to 5 2+2 != 5
• 10 is less than 5 10 < 5
• 'A' is equal to 7 'A' == 7
• Compound:
• a is equal to 3 and b is equal to 5

(a==3) && (b==5)

• x is not equal to 2 or y is less than 4

(x!=2) || (y<4)

• s is not equal to b and t is greater than or equal to 3 or t is less than 0

(s!=b) && (t>=3) || (t<0)

Short Circuited Operators
• The processing of logical AND (&&)and logical OR (||) is “short-circuited”
• If the left operand is sufficient to determine the result, the right operand is not evaluated

count != 0 && total/count > MAX

Boolean Expressions
• Logical expression that evaluates to true if the value of num is between 0 and 10

0 <= num <= 10

0 <= num && num <= 10

incorrect syntax

correct syntax

Questions
• What type of primitive variable can the result of a logical expression be stored in?
• Under what conditions would the expression (ch >= 'A' && ch <= 'Z') evaluate to false?
• What method do you use to compare two Strings?
• Why is 'a' greater than 'A'?

boolean

ch < 'A' or ch > 'Z'

compareTo

Because 'a' comes after 'A' in the ASCII

(or Unicode) character table.

Questions

Given the following declarations, evaluate each Boolean expression:

int count = 0, sum = 54;

double x = 4.3, y = 1.2;

boolean wrong = true;

• (wrong && sum > 60)
• ((x > 5) || !(sum == 55))
• !((y > 1.0) && (x < 4))
• ((count != 4) || (sum > 100) && wrong)

false

(true && false)

true

(false || !(false))

true

!(true && false)

true

(true || false && true)

(true || false)

Conditional Statements
• Let us choose which statement will be executed next
• also called selection statements
• Java's conditional statements:
• the if statement
• the if-else statement
• the switch statement (tomorrow’s class)
One-Way Selection
• Syntax: if (expression)

statement

The condition must be a boolean expression.

It must evaluate to either true or false.

if is a Java

reserved word

If the condition is true, the statement is executed.

If it is false, the statement is skipped.

The if Statement

if ( condition )

statement;

The if Statement

if (sum > MAX)

delta = sum - MAX;

System.out.println ("The sum is " + sum);

First, the condition is evaluated. The value of sum

is either greater than the value of MAX, or it is not.

If the condition is true, the assignment statement is

executed.

If it is not, the assignment statement is skipped.

Either way, the call to println is executed next.

Block Statements

Syntax:

{

statement1

statement2

.

.

.

statementn

}

We use curly braces to group a set of individual statements.

This way we can have multiple statements execute based on a decision.

If we don't use curly braces, only a single statement will be executed based on the result of a decision.

if (sum > MAX)

delta = sum - MAX;

System.out.println ("The sum is " + sum);

A

if (sum > MAX)

{

delta = sum - MAX;

}

System.out.println ("The sum is " + sum);

B

if (sum > MAX)

{

delta = sum - MAX;

System.out.println ("The sum is " + sum);

}

C

The if Statement
Curly Braces

int num = 87, max = 25;

if (num >= max*2)

System.out.println ("apple");

System.out.println ("orange");

System.out.println ("pear");

int num = 87, max = 25;

if (num >= max*2)

{

System.out.println ("apple");

}

System.out.println ("orange");

System.out.println ("pear");

Watch out!

if (score >= 90);

No matter the result of the condition,

grade will be assigned "A". The semicolon

after the if statement is a semantic error.

The if-else Statement

if ( condition )

statement1;

else

statement2;

• If the condition is true, statement1is executed; if the condition is false, statement2is executed
• One or the other will be executed, but not both
The if-else Statement

if (height <= MAX)

{

}

else

{