1 / 21

Simple Control Structures

Simple Control Structures. boolean s, the if statement, and the while loop. What are control structures?. You can’t do very much if your program consists of just a list of commands to be done in order The program cannot choose whether or not to perform a command

walda
Download Presentation

Simple Control Structures

An Image/Link below is provided (as is) to download presentation 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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Simple Control Structures booleans, the if statement, and the while loop

  2. What are control structures? • You can’t do very much if your program consists of just a list of commands to be done in order • The program cannot choose whether or not to perform a command • The program cannot perform the same command more than once • Such programs are extremely limited! • Control structures allow a program to base its behavior on the values of variables

  3. For C and C++ programmers only • Statement types are almost identical to those in C and C++ • Main difference: true/false conditions must be boolean, not numeric! • Some unusual uses of the comma in for statements are not permitted in Java • There are two new statement types (tryand assert) which we won’t talk about today

  4. boolean • boolean is one of the eight primitive types • booleans are used to make yes/no decisions • All control structures use booleans • There are exactly two boolean values, true (“yes”) and false (“no”) • boolean, true, and false are all lowercase • booleans are named after George Boole, the founder of Boolean logic

  5. Declaring booleanvariables • booleanvariables are declared like any other kind of variable: • boolean hungry; • boolean passingGrade; • boolean taskCompleted = false; • booleanvalues can be assigned to booleanvariables: • taskCompleted = true;

  6. Numeric comparisons • The following numeric comparisons each give a boolean result: • x < y // is x less than y? • x <= y // is x less than or equal to y? • x == y // is x equal to y? (do not use =) • x != y // is x unequal to y? • x >= y // is x greater than or equal to y? • x > y // is x greater than y? • Reminder: Don’t use ==or !=for floating-point numbers

  7. The if statement • The if statement has the form: • if (boolean-expression)statement • Examples: • if (passingGrade) System.out.println("Whew!"); • if (x > largest) largest = x; • if (citBook.price < 40.00) citBook.purchase(); • Theif statement controls one other statement • Often this isn’t enough; we want to control a group of statements

  8. Compound statements • We can use braces to group together several statements into one “compound” statement: • { statement; statement; ...; statement; } • Braces can group any number of statements: • { } // OK--this is an “empty” statement • { x = 0; } // OK--braces don’t hurt • { temp = x; x = y; y = temp; } //typical use • The compound statement is the only kind of statement that does not end with a semicolon

  9. The if statement again • The ifstatement controls one other statement, but it can be a compound statement • Example: • if (cost < amountInPocket) { System.out.println("Spending $" + cost); amountInPocket = amountInPocket - cost;} • It’s good style to use braces even if the if statement controls only a single statement: • if (cost > amountInPocket) { System.out.println("You can't afford it!");} • I personally make an exception to this style rule when the controlled statement fits easily on the same line with the if: • if (x < 0) x = -x; // use absolute value of x

  10. condition? true statement false Flowchart for the ifstatement

  11. The if-else statement • Theif-elsestatement chooses which of two statements to execute • Theif-elsestatement has the form: • if (condition) statement-to-execute-if-true;else statement-to-execute-if-false ; • Either statement (or both) may be a compound statement • Notice the semicolon after each controlled statement

  12. Example if-else statements • if (x >= 0) absX = x;else absX = -x; • if (itemCost <= bankBalance) { writeCheck(itemCost); bankBalance = bankBalance - itemCost;}else { callHome(); askForMoreMoney(2 * itemCost);}

  13. condition? true false statement-1 statement-2 Flowchart for the if-else statement

  14. Aside: the “mod” operator • The modulo, or “mod,” operator returns the remainder of an integer division • The symbol for this operation is% • Examples: • 57 % 10 gives7 • 20 % 6 gives 2 • Useful rule:xis divisible by y if x % y == 0 • If the left operand is negative, the result is negative (or zero) • Examples: -20 % 3 = -2, 20 % -3 = 2, -20 % -3 = -2

  15. Nesting if(or if-then) statements • A year is a leap year if it is divisible by 4 but not by 100, unless it is also divisible by 400 • if (year % 4 == 0) { if (year % 100 == 0) { if (year % 400 == 0) leapYear = true; else leapYear = false; } else leapYear = true;}else leapYear = false;

  16. Operations on booleans • Assumepandqare booleans • There are four basic operations on booleans: • Negation (“not”): !p is true ifpis false (and false otherwise) • Conjunction (“and”): p && q is true if bothp and q are true • Disjunction (“or”): p || q is true if either of p and q is true • Exclusive or (“xor”): p ^ q is true if just one of p and q is true

  17. Simpler tests • A simpler leap-year test: • if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) leapYear = true;else leapYear = false; • An even simpler leap-year test: • leapYear = year % 4 == 0 && (year % 100 != 0 || year % 400 == 0);

  18. The whileloop • This is the form of the while loop:while (condition) statement ; • If the condition is true, the statement is executed, then the whole thing is done again • The statement is executed repeatedly until the condition becomes false • If the condition starts out false, the statement is never executed at all

  19. condition? true statement false Flowchart for the while loop

  20. Countdown example • seconds = 5;while (seconds > 0) { System.out.print(seconds + "..."); seconds = seconds - 1;}System.out.println("Blast off!"); • Result: 5...4...3...2...1...Blast off!

  21. The End

More Related