Lesson 3: Conditions and Loops - PowerPoint PPT Presentation

About This Presentation
Title:

Lesson 3: Conditions and Loops

Description:

Lesson 3: Conditions and Loops – PowerPoint PPT presentation

Number of Views:108
Avg rating:3.0/5.0
Slides: 65
Provided by: cad84
Category:

less

Transcript and Presenter's Notes

Title: Lesson 3: Conditions and Loops


1
Lesson 3 Conditions and Loops
  • Unit 1 The if Statement

2
The if Statement
  • The Java if statement has the following syntax
  • if (boolean-condition)
  • statement
  • If the Boolean condition is true, the statement
    is executed if it is false, the statement is
    skipped
  • This provides basic decision making capabilities

3
Tempreture
class Temperature static final int THRESHOLD
65 public static void main(String args)
InputRequestor input new
InputRequestor() int temperature
input.requestInt(Enter the temperature)
System.out.println(Current temperature
temperature) if (temperature lt THRESHOLD)
System.out.println(Its cold in here!)

4
If statement flow diagram
  • if (condition)
  • statement

condition
true
statement
5
Boolean Expressions
  • The condition of an if statement must evaluate to
    a true or false result
  • Java has several equality and relational
    operators
  • More complex Boolean expressions are also
    possible

Operator Meaning
equal to
! not equal to
lt less than
lt less than or equal to
gt greater than
gt greater than or equal to


6
Block Statements
  • Several statements can be grouped together into a
    block statement
  • Blocks are delimited by braces
  • A block statement can be used wherever a
    statement is called for in the Java syntax
  • if (boolean-condition)
  • statement1
  • statement2

7
Example - Temperature2
class Temperature2 static final int THRESHOLD
65 public static void main(String args)
InputRequestor input new
InputRequestor() int temperature
input.requestInt(Enter the temperature)
System.out.println(Current temperature
temperature) if (temperature lt THRESHOLD)
System.out.println(Its cold in
here!) System.out.println(But well
survive.)
8
If .. Else Statement
  • An else clause can be added to an if statement to
    make it an if-else statement
  • if (condition)
  • statement1
  • else
  • statement2
  • If the condition is true, statement1 is executed
    if the condition is false, statement2 is
    executed

9
Example - Temperature3
class Temperature3 static final int
FREEZING_POINT 32 public static void
main(String args) InputRequestor
input new InputRequestor() int
temperature input.requestInt(Enter
temperature) if (temperature lt
FREEZING_POINT) System.out.println(I
ts freezing!) else
System.out.println(Above freezing.)
10
If/else flow diagram
  • if (condition)
  • statement1
  • else
  • statement2

condition
true
statement2
statement1
11
Nested If statements
  • Since an If statement is a statement, it can
    appear inside another if statement.
  • if (condition1)
  • if (condition2)
  • statement
  • It can also appear in an else clause
  • if (condition1)
  • statement1
  • else if (condition2)
  • statement2

12
Nested If Example
// Reads 2 integers and compares them class
CompareExample public static void
main(String args) InputRequestor input
new InputRequestor() int a
input.requestInt(First number) int b
input.requestInt(Second number) if (a !
b) if (a gt b) System.out.println(a
is greater) else
System.out.println(b is greater) else
System.out.println(the numbers are
equal)
13
Checking your Input
  • When requesting input from the user, keep in mind
    that the input may be invalid.
  • It is good practice to check the validity of user
    input

int numberOfItems input.requestInt(Enter
number of items) if (numberOfItems lt 0)
System.out.println( Number of items must
be positive!) else double price
numberOfItems ITEM_PRICE
System.out.println(The total price is
price)
14
Lesson 3 Conditions and Loops
  • Unit 2 Boolean Expressions

15
Logical Operators
  • Boolean expressions may be combined using logical
    operators
  • There are three logical operators in Java
  • They all take Boolean operands and produce
    Boolean results
  • Logical NOT is unary (one operand), but logical
    AND and OR are binary (two operands)

Operator Operation
! Logical NOT
Logical AND
Logical OR
16
Logical NOT
  • The logical NOT is also called logical negation
    or logical complement
  • If a is true, !a is false if a is false, then
    !a is true
  • Logical expressions can be shown using truth
    tables

a !a
false true
true false
17
Logical AND
  • The expression a b is true if both a and b are
    true, and false otherwise
  • Truth tables show all possible combinations of
    all terms

a b a b
false false false
false true false
true false false
true true true
18
Logical OR
  • The expression a b is true if a or b or both
    are true, and false otherwise

a b a b
false false false
false true true
true false true
true true true
19
Logical Operators
  • Logical operators are used to form more complex
    logical expressions
  • Logical operators have precedence relationships
    between themselves and other operators

if (alt1 a2!0) System.out.println(
The input should be an even even number!)
20
Logical Operators
  • Full expressions can be evaluated using truth
    tables

a lt 1 a2!0 alt1 a20
false false false
false true false
true false false
true true true
21
Boolean variables
  • Boolean expressions can be assigned to Boolean
    variables
  • Boolean variables are Boolean expressions

boolean b, c b (x gt 17) c (xgt17) (xlt60)
boolean b, c b (x gt 17) c b (xlt60) if
(c) System.out.println(x is in range)
22
Example - RightTriangle
// Receives the length of the edges of a
triangle // and determine if this is a right
triangle class RightTriangle public static
void main(String args) InputRequestor
input new InputRequestor() float a
input.requestInt(Edge1) float b
input.requestInt(Edge2) float c
input.requestInt(Hypotenuse) boolean test
aabb cc if (test)
System.out.println(Its a right triangle)
else System.out.println(Its not a right
triangle)
23
Lesson 3 conditions and loops
  • Unit C3 The while Statement

24
The while statement
  • A while statement has the following syntax
  • while (condition)
  • statement
  • If the condition is true, the statement is
    executed then the condition is evaluated again
  • The statement is executed over and over until the
    condition becomes false
  • If the condition of a while statement is false
    initially, the statement is never executed
  • Therefore, we say that a while statement executes
    zero or more times

25
While statement flow diagram
  • while (condition)
  • statement

condition
true
statement
26
Example - Counter
// Counts from 1 to 5 class Counter static
final int LIMIT 5 public static void
main(String args) int count 1
while (count lt LIMIT) System.out.println(
count) count count 1
System.out.println(done)
27
Examples - Factors
// Gets an integer and prints its factors class
FactorsExample public static void
main(String args) InputRequestor input
new InputRequestor() int a
input.requestInt(Enter a number) int i
1 System.out.println(The divisors of a
are) while (i lt a) if (ai 0)
System.out.println(i) i
i 1
28
Infinite Loops
  • The body of a while loop must eventually make the
    condition false
  • If not, it is an infinite loop, which will
    execute until the user interrupts the program
  • This is a common type of logical error --
    always double check that your loops will
    terminate normally

29
Example - Forever
// This program contains an infinite loop class
Forever static final int LIMIT 25
public static void main(String args) int
count 1 while (count lt LIMIT)
System.out.println(count) count count -
1
30
Lesson 3 conditions and loops
  • Unit 4 More conditionals

31
The Conditional Operator
  • Java has a conditional operator that evaluates a
    Boolean condition that determines which of two
    expressions is evaluated
  • The result of the chosen expression is the result
    of the entire conditional operator
  • Its syntax is
  • condition ? expression1
  • expression2
  • If the condition is true, expression1 is
    evaluated if it is false, expression2 is
    evaluated

32
The Conditional Operator
  • It is similar to an if-else statement, except
    that it is an expression that returns a value
  • For example
  • If a is greater that b, then a is assigned to
    max otherwise, b is assigned to max
  • The conditional operator is ternary, meaning it
    requires three operands

int max (a gt b) ? a b
33
The Conditional Operator
  • Another example
  • If count equals 1, "Dime" is printed, otherwise
    "Dimes" is printed

System.out.println ("Your change is " count
((count 1) ? "Dime" "Dimes))
34
Another Selection Statement
  • The if and the if-else statements are selection
    statements, allowing us to select which statement
    to perform next based on some Boolean condition
  • Another selection construct, called the switch
    statement, provides another way to choose the
    next action
  • The switch statement evaluates an expression,
    then attempts to match the result to one of a
    series of values
  • Execution transfers to statement list associated
    with the first value that matches

35
The switch Statement
  • The syntax of the switch statement is
  • switch (expression)
  • case value1
  • statement-list1
  • case value2
  • statement-list2
  • case

36
The switch Statement
  • The expression must evaluate to an integral
    value, such as an integer or character
  • The break statement is usually used to terminate
    the statement list of each case, which causes
    control to jump to the end of the switch
    statement
  • A default case can be added to the end of the
    list of cases, and will execute if no other case
    matches

37
The switch Statement
/ A client that enables you to connect to
the bank server and make remote banking
operations... / public class BankClient
public static final int VIEW_BALANCE 1
public static final int VIEW_SAVINGS 2
public static final int CASH_TRANSFER 3
public static final int VIEW_LAST_OPERATIONS
4 // ...
38
The switch Statement
// Inside the main loop of the client int
option InputRequestor.requentInt(Enter
your choice) switch(option) case
VIEW_BALANCE showBalance() break
case VIEW_SAVINGS showSavings() break
default output.showMessage(No such
option!)
39
Lesson 3 conditions and loops
  • Unit 5 Shorthand Operators

40
Shorthand Operators
  • Many operations are very commonly used
  • Java has shorthand notations for these
  • increment and decrement operators
  • assignment operators
  • x x 1
  • sum sum x

41
The Increment and Decrement Operators
  • The increment operator () adds one to its
    integer or floating point operand
  • The decrement operator (--) subtracts one
  • The statement
  • is essentially equivalent to

count
count count 1
42
The Increment and Decrement Operators
  • The increment and decrement operators can be
    applied in prefix (before the variable) or
    postfix (after the variable) form
  • When used alone in a statement, the prefix and
    postfix forms are basically equivalent. That is,
  • is equivalent to

count
count
43
The Increment and Decrement Operators
  • When used in a larger expression, the prefix and
    postfix forms have a different effect
  • In both cases the variable is incremented
    (decremented)
  • But the value used in the larger expression
    depends on the form

Expressions Operation Value Of expression
count add 1 old value
count add 1 new value
count-- subtract 1 old value
--count subtract 1 new value
44
The Increment and Decrement Operators
  • If count currently contains 45, then
  • assigns 45 to total and 46 to count
  • If count currently contains 45, then
  • assigns the value 46 to both total and count

total count
total count
45
The Increment and Decrement Operators
  • If sum contains 25, what does this statement
    print?
  • Prints the following result
  • 25 27 27 27
  • sum contains 26 after the line is complete

System.out.println (sum " "
sum " "
sum " " sum--)
46
Assignment Operators
  • Often we perform an operation on a variable, then
    store the result back into that variable
  • Java provides assignment operators that simplify
    that process
  • For example, the statement
  • is equivalent to

sum value
sum sum value
47
Assignment Operators
  • There are many such assignment operators, always
    written as op , such as

Operator Example Equivalent to
xy x x y
- x-y x x - y
xy x x y
/ x/y x x / y
xy x x y
48
Assignment Operators
  • The right hand side of an assignment operator can
    be a complete expression
  • The entire right-hand expression is evaluated
    first, then combined with the additional
    operation
  • Therefore
  • result / total-MIN
  • is equivalent to

result / total-MIN
result result / (total-MIN)
49
Lesson 3 conditions and loops
  • Unit C6 More Repetition

50
More Repetition Constructs
  • In addition to while loops, Java has two other
    constructs used to perform repetition
  • the do statement
  • the for statement
  • Each loop type has its own unique characteristics
  • You must choose which loop type to use in each
    situation

51
The do Statement
  • The do statement has the following syntax
  • do
  • statement
  • while (condition)
  • The statement is executed until the condition
    becomes false
  • It is similar to a while statement, except that
    its termination condition is evaluated after the
    loop body

52
The do Statement
  • The key difference between a do loop and a while
    loop is that the body of the do loop will execute
    at least once
  • If the condition of a while loop is false
    initially, the body of the loop is never executed
  • Another way to put this is that a while loop will
    execute zero or more times and a do loop will
    execute one or more times

53
Do Statement Example
// Gets an integer and prints its factors class
AvgExample public static void main(String
args) InputRequestor input new
InputRequestor() double x, sum0, count-1
do x input.RequestDouble(Next
number) sum x count
while (x ! 0) // 0 is a flag
indicating end of input
System.out.println(The average is sum/count)

54
The do Statement flow diagram
55
The for Statement
  • Many loops have a common pattern, captured by the
    for statement
  • The syntax of the for loop is
  • for (intialization condition increment)
  • statement
  • This is equivalent to
  • initialization
  • while (condition)
  • statement
  • increment

56
The for Statement examples
  • Examples

for (int count1 count lt 75 count)
System.out.println (count) for
(int num1 num lt max num num 2)
System.out.println (Next power of 2 num)

57
The for Statement
  • The initialization is always performed once
  • The condition of a for statement is tested prior
    to executing the loop body (like in the while
    statement)
  • Therefore, a for loop will execute zero or more
    times
  • For loops are well suited for cases where the
    number of iterations is known beforehand
  • The increment is executed after each iteration of
    the loop

58
Omitting parts in a for Statement
  • Each expression in the header of a for loop is
    optional
  • If the initialization is left out, no
    initialization is performed
  • If the condition is left out, it is always
    considered to be true, and therefore makes an
    infinite loop
  • If the increment is left out, no increment
    operation is performed
  • Both semi-colons are always required

for () // an infinite loop
System.out.println (beep) // compute a
value count for ( count lt max count )
System.out.println (count)
59
The for Statement flow diagram
60
Multiplication Table Example
class MultiplicationTable public static void
main(String args) for(int j1 j lt 10
j) for(int k1 k lt 10 k)
System.out.print(jk) System.out.println()

61
The break and continue statements
  • The break statement, which we used with switch
    statements, can also be used inside a loop
  • When the break statement is executed, control
    jumps to the statement after the loop (the
    condition is not evaluated again)
  • A similar construct, the continue statement, can
    also be executed in a loop
  • When the continue statement is executed, control
    jumps to the end of the loop and the condition is
    evaluated

62
Break and Continue Example
class AvgExample2 public static void
main(String args) InputRequestor in new
InputRequestor() double x, sum 0 count
0 while(true) x in.RequestDouble()
if (x 0) break if (x lt
0) System.out.println(Only positive
numbers!) continue sum
x count // continued on
next page
63
Break and Continue Example (2)
System.out.println(The average is
sum/count)
64
Why do We Need Indentation?
class Mystery public static void main(String
args) InputRequestor in new
InputRequestor() int dimension
in.requestInt(Please enter the
dimension) for (int j 0 j lt dimension j)
for (int k 1 k lt dimension - j k)
System.out.print(" ") for (int k 0 k lt
j k) System.out.print("")
System.out.println()
Write a Comment
User Comments (0)
About PowerShow.com