1 / 41

COMP 110: Introduction to Programming

COMP 110: Introduction to Programming. Tyler Johnson Feb 2, 2009 MWF 11:00AM-12:15PM Sitterson 014. Announcements. Program 1 due Wed by midnight Couple things. Questions?. Today in COMP 110. The type boolean switch statements Enumerations. Review. If-Statements

oakes
Download Presentation

COMP 110: Introduction to Programming

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. COMP 110:Introduction to Programming Tyler Johnson Feb 2, 2009 MWF 11:00AM-12:15PM Sitterson 014

  2. Announcements • Program 1 due Wed by midnight • Couple things

  3. Questions?

  4. Today in COMP 110 • The type boolean • switch statements • Enumerations

  5. Review • If-Statements • Used to make decisions or check conditions in a program • E.g. check the value of a variable • Syntax if(Boolean_Expression) Statement_1 else Statement_2 • If Boolean_Expression is true, Statement_1 is executed; otherwise Statement_2 is executed

  6. If Statement Exercise • What is the output? if(x > 5) { System.out.print(‘A’); if(x < 10) System.out.print(‘B’); } else System.out.print(‘C’);

  7. Boolean Expressions • An expression that evaluates to either true or false • Consider ((x > 10) || (x < 100)) • Why is this probably not what the programmer intended? • It’s true for any x • Consider ((2 < 5) && (x < 100)) • Why is this probably not what the programmer intended? • It’s the same as (x < 100)

  8. The Type boolean • boolean is a primitive type in Java • Stores the value true or false • We can declare variables of type boolean just like we declare an int, double, etc. boolean ready; boolean error;

  9. Booleans • Using booleans can make your programs easier to understand //a bit difficult to read if(temp <= 100 && thrust >= 12000 && cabinPressure > 30) System.out.println(“Launch”); else System.out.println(“Abort”);

  10. Booleans • Booleans can be used inside boolean expressions boolean systemsGo = temp <= 100 && thrust >= 12000 && cabinPressure > 30; //much easier to read if(systemsGo) System.out.println(“Launch”); else System.out.println(“Abort”);

  11. True and False • The words true and false are also reserved words in java • We can use them to initialize boolean variables boolean ready = false; boolean initialized = true;

  12. Booleans • There’s no need to write if(systemsGo == true) System.out.println(“Launch”); • The more concise and equivalent way is if(systemsGo) System.out.println(“Launch”);

  13. Naming Booleans • Choose names for boolean variables that sound true when the value of the variable is true • boolean ready; //are we ready? • boolean readingInput; //are we reading input? • booleanerrorEncountered; //have we encountered //an error?

  14. Precedence • Java uses precedence rules when evaluating boolean expressions • Example • score >= 80 && score < 90 • The expressions to the left and right of && are evaluated first

  15. Operator Precedence Highest Precedence First: the unary operators +, -, ++, --, ! Second: the binary operators *, /, % Third: the binary operators +, - Fourth: the boolean operators <, >, >=, <= Fifth: the boolean operators ==, != Sixth: the boolean operator && Seventh: the boolean operator || Lowest Precedence

  16. Boolean Precedence Example • 4 < 3 / 2 – 10 || 4 * -2 > 9 • 4 < 1 – 10 || 4 * -2 > 9 • 4 < 1 – 10 || -8 > 9 • 4 < -9 || -8 > 9 • false || -8 > 9 • false || false • false

  17. Style • It’s usually best to indicate precedence in boolean expressions explicitly with parentheses • (score < ((min / 2) – 10)) || (score > 90)

  18. Short-Circuit Evaluation • In some cases, the result of a boolean expression can be determined before all subparts of the expression are evaluated • Example true || (x >= 60) • This expression is true regardless of the value of x

  19. Short-Circuit Evaluation • Java uses what’s called short-circuit evaluation when evaluating boolean expressions • If at any point in the evaluation of a boolean expression the outcome is determined, any remaining subparts are not evaluated

  20. Short-Circuit Evaluation • Example • We’re computing an average homework score • Print “Good work!” if the average is above 60 if(numAssignments > 0 && ((total / numAssignments) > 60) System.out.println(“Good work!”); • Without short-circuit evaluation, we would divide by zero if numAssignments == 0

  21. Reading in Booleans • We can read in booleans from the keyboard just like any other variable boolean bVar; Scanner keyboard = new Scanner(System.in); bVar = keyboard.nextBoolean();

  22. Switch Statements • If-statements with many branches can be difficult to read • The switch statement can be used as an alternative to a multi-branch if-statement in certain cases

  23. Switch Statement • A switch statement begins like this switch(Controlling_Expression) { … } • Controlling_Expression must have type int or char

  24. Switch Statements • Inside the body of a switch statement, a number of case labels will appear • The different cases are separated with a break statement caseCase_Label_1: Statements_1 break; … caseCase_Label_n: Statements_n break;

  25. Switch Statement Example int year; … switch(year) { case 1: System.out.println(“You are a freshman”); break; case 2: System.out.println(“You are a sophomore”); break; case 3: System.out.println(“You are a junior”); break; case 4: System.out.println(“You are a senior”); break; default: System.out.println(“This is a default case”); break; }

  26. Switch Statement Example int year = 1; … switch(year) { case 1: System.out.println(“You are a freshman”); break; case 2: System.out.println(“You are a sophomore”); break; case 3: System.out.println(“You are a junior”); break; case 4: System.out.println(“You are a senior”); break; default: System.out.println(“This is a default case”); break; }

  27. Switch Statement Example int year = 3; … switch(year) { case 1: System.out.println(“You are a freshman”); break; case 2: System.out.println(“You are a sophomore”); break; case 3: System.out.println(“You are a junior”); break; case 4: System.out.println(“You are a senior”); break; default: System.out.println(“This is a default case”); break; }

  28. Switch Statement Syntax switch(Controlling_Expression) { caseCase_Label: Statements break; caseCase_Label : Statements break; … default: Statements break; }

  29. Switch Statements • If no break statement is specified, for a case, execution will continue down to the next case int n; … switch(n) { case 1: System.out.println(“one”); case 2: System.out.println(“two”); break; } • If n == 1, this code prints onetwo

  30. Switch Statement Example char input; … switch(input) { case'y': case'Y': System.out.println(“You entered yes”); break; case'n': case'N': System.out.println(“You entered no”); break; default: System.out.println(“Invalid input”); break; }

  31. Default Case • When using a switch statement you should always provide a default case • This catches any conditions you may not have checked for, such as errors default: System.out.println(“This is a default case”); break;

  32. Conversion to If • The previous example can also be written equivalently with an if-statement if(input == 'y' || input == 'Y') System.out.println(“You entered yes”); else if(input == 'n' || input == 'N') System.out.println(“You entered no”); else System.out.println(“Invalid input”);

  33. If/Switch • How to know whether to use a switch or an if-statement? • Switch statement • Can only be used with type char or int • When you want to choose between many, specific values such as 5,6, 'y' etc. • If statement • Can only be used with boolean expressions • When the number of choices is relatively small • When you want to check a range of possibilities, e.g. x > 5, y <= 1000

  34. Enumerations • Suppose you wanted to write a computer program that stores different flavors of ice cream • Vanilla, Chocolate, Strawberry, etc. • How would we store them in a computer program?

  35. Enumerations • We can give the flavors an underlying numeric representation • Vanilla = 0, Chocolate = 1, Strawberry = 2 • We could declare a variable integer to store our flavor, but this is error-prone int flavor = 0; //vanilla flavor = 1; //chocolate

  36. Enumerations • An enumeration allows us to give unique numeric values to a list of items enum Flavor {Vanilla, Chocolate, Strawberry} • This statement assigns a unique numeric value to each of {Vanilla, Chocolate, Strawberry}

  37. Switch/Enum Example enum Flavor {Vanilla, Chocolate, Strawberry} Flavor flavor; //declare a variable of type Flavor … switch(flavor) { case Vanilla: System.out.println(“That’s Vanilla!”); break; case Chocolate: System.out.println(“That’s Chocolate!”); break; case Strawberry: System.out.println(“That’s Strawberry!”); break; default: System.out.println(“I don’t recognize that flavor”); break; }

  38. Programming Demo • Write a program that takes two numbers as input from the user • The user should then be able to choose from among the following options • Add the two numbers • Subtract the two numbers • Multiply the two numbers • Divide the two numbers

  39. Programming Demo • Pseudocode • Ask user to input two numbers • Provide the user with a list of the options • Perform the operation selected by the user • Output the result

  40. Programming Demo • Programming

  41. Wednesday • Loops • Keep up with the reading • We’ll start Ch 4 on Wed

More Related