Chapter 5 Conditionals and Loops: Part 2 • Java Software Solutions • Foundations of Program Design • 9th Edition John Lewis William Loftus
Key Concept A loop allows a program to execute a statement multiple times.
Outline Boolean Expressions The if Statement Comparing Data The while Statement Iterators The ArrayList Class
Key Concept Conditionals and loops allow us to control the flow of execution through a method.
Flow of Control • Unless specified otherwise, the order of statement execution through a method is linear: one after another • Some programming statements allow us to make decisions and perform repetitions • These decisions are based on boolean expressions (also called conditions) that evaluate to true or false • The order of statement execution is called the flow of control
Key Concept An if statement allows a program to choose whether to execute a particular statement.
Conditional Statements • A conditional statement lets us choose which statement will be executed next • They are sometimes called selection statements • Conditional statements give us the power to make basic decisions • The Java conditional statements are the: – if and if-else statement – switch statement • We'll explore the switch statement in Chapter 6
Boolean Expressions • A condition often uses one of Java's equality operators or relational operators, which all return boolean results: == equal to != not equal to < less than > greater than <= less than or equal to >= greater than or equal to • Note the difference between the equality operator (==) and the assignment operator (=)
Boolean Expressions • An if statement with its boolean condition: if (sum > MAX) delta = sum – MAX; • 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 isn't, it is skipped • See Age.java
//******************************************************************** // Age.java Author: Lewis/Loftus // // Demonstrates the use of an if statement. //******************************************************************** import java.util.Scanner; public class Age { //----------------------------------------------------------------- // Reads the user's age and prints comments accordingly. //----------------------------------------------------------------- public static void main(String[] args) { final int MINOR = 21; Scanner scan = new Scanner(System.in); System.out.print("Enter your age: "); int age = scan.nextInt(); continue
continue System.out.println("You entered: " + age); if (age < MINOR) System.out.println("Youth is a wonderful thing. Enjoy."); System.out.println("Age is a state of mind."); } }
continue System.out.println("You entered: " + age); if (age < MINOR) System.out.println("Youth is a wonderful thing. Enjoy."); System.out.println("Age is a state of mind."); } } Sample Run Enter your age: 47 You entered: 47 Age is a state of mind. Another Sample Run Enter your age: 12 You entered: 12 Youth is a wonderful thing. Enjoy. Age is a state of mind.
Logical Operators • Boolean expressions can also use the following logical operators: ! Logical NOT && Logical AND || Logical OR • They all take boolean operands and produce boolean results • Logical NOT is a unary operator (it operates on one operand) • Logical AND and logical OR are binary operators (each operates on two operands)
Logical NOT • The logical NOT operation is also called logical negation or logical complement • If some boolean condition a is true, then !a is false; if a is false, then !a is true • Logical expressions can be shown using a truth table: a !a true false false true
Logical AND and Logical OR • The logical AND expression a && b is true if both a and b are true, and false otherwise • The logical OR expression a || b is true if a or b or both are true, and false otherwise
Key Concept Logical operators are often used to construct sophisticated conditions.
Logical AND and Logical OR • A truth table shows all possible true-false combinations of the terms • Since && and || each have two operands, there are four possible combinations of a and b a b a && b a || b true true true true true false false true false true false true false false false false
Logical Operators • Expressions that use logical operators can form complex conditions if (total < MAX+5 && !found) System.out.println("Proc essing…"); • All logical operators have lower precedence than the relational operators • The ! operator has higher precedence than && and ||
Boolean Expressions • Specific expressions can be evaluated using truth tables total < MAX found !found total < MAX && !found false false true false false true false false true false true true true true false false
Short- Circuited Operators • The processing of && and || is “short-circuited” • If the left operand is sufficient to determine the result, the right operand is not evaluated if (count != 0 && total/count > MAX) System.out.println("Te sting."); • This type of processing should be used carefully

Java Chapter 05 - Conditions & Loops: part 2

  • 1.
    Chapter 5 Conditionals and Loops:Part 2 • Java Software Solutions • Foundations of Program Design • 9th Edition John Lewis William Loftus
  • 2.
    Key Concept A loop allowsa program to execute a statement multiple times.
  • 3.
    Outline Boolean Expressions The ifStatement Comparing Data The while Statement Iterators The ArrayList Class
  • 4.
    Key Concept Conditionals and loops allowus to control the flow of execution through a method.
  • 5.
    Flow of Control • Unlessspecified otherwise, the order of statement execution through a method is linear: one after another • Some programming statements allow us to make decisions and perform repetitions • These decisions are based on boolean expressions (also called conditions) that evaluate to true or false • The order of statement execution is called the flow of control
  • 6.
    Key Concept An if statementallows a program to choose whether to execute a particular statement.
  • 7.
    Conditional Statements • A conditionalstatement lets us choose which statement will be executed next • They are sometimes called selection statements • Conditional statements give us the power to make basic decisions • The Java conditional statements are the: – if and if-else statement – switch statement • We'll explore the switch statement in Chapter 6
  • 8.
    Boolean Expressions • A conditionoften uses one of Java's equality operators or relational operators, which all return boolean results: == equal to != not equal to < less than > greater than <= less than or equal to >= greater than or equal to • Note the difference between the equality operator (==) and the assignment operator (=)
  • 9.
    Boolean Expressions • An ifstatement with its boolean condition: if (sum > MAX) delta = sum – MAX; • 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 isn't, it is skipped • See Age.java
  • 10.
    //******************************************************************** // Age.java Author:Lewis/Loftus // // Demonstrates the use of an if statement. //******************************************************************** import java.util.Scanner; public class Age { //----------------------------------------------------------------- // Reads the user's age and prints comments accordingly. //----------------------------------------------------------------- public static void main(String[] args) { final int MINOR = 21; Scanner scan = new Scanner(System.in); System.out.print("Enter your age: "); int age = scan.nextInt(); continue
  • 11.
    continue System.out.println("You entered: "+ age); if (age < MINOR) System.out.println("Youth is a wonderful thing. Enjoy."); System.out.println("Age is a state of mind."); } }
  • 12.
    continue System.out.println("You entered: "+ age); if (age < MINOR) System.out.println("Youth is a wonderful thing. Enjoy."); System.out.println("Age is a state of mind."); } } Sample Run Enter your age: 47 You entered: 47 Age is a state of mind. Another Sample Run Enter your age: 12 You entered: 12 Youth is a wonderful thing. Enjoy. Age is a state of mind.
  • 13.
    Logical Operators • Boolean expressionscan also use the following logical operators: ! Logical NOT && Logical AND || Logical OR • They all take boolean operands and produce boolean results • Logical NOT is a unary operator (it operates on one operand) • Logical AND and logical OR are binary operators (each operates on two operands)
  • 14.
    Logical NOT • Thelogical NOT operation is also called logical negation or logical complement • If some boolean condition a is true, then !a is false; if a is false, then !a is true • Logical expressions can be shown using a truth table: a !a true false false true
  • 15.
    Logical AND and Logical OR • Thelogical AND expression a && b is true if both a and b are true, and false otherwise • The logical OR expression a || b is true if a or b or both are true, and false otherwise
  • 16.
    Key Concept Logical operators areoften used to construct sophisticated conditions.
  • 17.
    Logical AND andLogical OR • A truth table shows all possible true-false combinations of the terms • Since && and || each have two operands, there are four possible combinations of a and b a b a && b a || b true true true true true false false true false true false true false false false false
  • 18.
    Logical Operators • Expressions thatuse logical operators can form complex conditions if (total < MAX+5 && !found) System.out.println("Proc essing…"); • All logical operators have lower precedence than the relational operators • The ! operator has higher precedence than && and ||
  • 19.
    Boolean Expressions • Specificexpressions can be evaluated using truth tables total < MAX found !found total < MAX && !found false false true false false true false false true false true true true true false false
  • 20.
    Short- Circuited Operators • The processingof && and || is “short-circuited” • If the left operand is sufficient to determine the result, the right operand is not evaluated if (count != 0 && total/count > MAX) System.out.println("Te sting."); • This type of processing should be used carefully