Presentation is loading. Please wait.

Presentation is loading. Please wait.

COMP 110: Introduction to Programming Tyler Johnson Feb 2, 2009 MWF 11:00AM-12:15PM Sitterson 014.

Similar presentations


Presentation on theme: "COMP 110: Introduction to Programming Tyler Johnson Feb 2, 2009 MWF 11:00AM-12:15PM Sitterson 014."— Presentation transcript:

1 COMP 110: Introduction to Programming Tyler Johnson Feb 2, 2009 MWF 11:00AM-12:15PM Sitterson 014

2 COMP 110: Spring 20092 Announcements Program 1 due Wed by midnight Couple things

3 COMP 110: Spring 20093 Questions?

4 COMP 110: Spring 20094 Today in COMP 110 The type boolean switch statements Enumerations

5 COMP 110: Spring 20095 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 COMP 110: Spring 20096 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’); xOutput 4C 5C 6AB 9 10A 11A

7 COMP 110: Spring 20097 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 COMP 110: Spring 20098 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 COMP 110: Spring 20099 Booleans Using booleans can make your programs easier to understand //a bit difficult to read if(temp = 12000 && cabinPressure > 30) System.out.println(“Launch”); else System.out.println(“Abort”);

10 COMP 110: Spring 200910 Booleans Booleans can be used inside boolean expressions boolean systemsGo = temp = 12000 && cabinPressure > 30; //much easier to read if(systemsGo) System.out.println(“Launch”); else System.out.println(“Abort”);

11 COMP 110: Spring 200911 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 COMP 110: Spring 200912 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 COMP 110: Spring 200913 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? boolean errorEncountered; //have we encountered //an error?

14 COMP 110: Spring 200914 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 COMP 110: Spring 200915 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 COMP 110: Spring 200916 Boolean Precedence Example 4 9 false || -8 > 9 false || false false

17 COMP 110: Spring 200917 Style It’s usually best to indicate precedence in boolean expressions explicitly with parentheses (score 90)

18 COMP 110: Spring 200918 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 COMP 110: Spring 200919 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 COMP 110: Spring 200920 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 COMP 110: Spring 200921 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 COMP 110: Spring 200922 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 COMP 110: Spring 200923 Switch Statement A switch statement begins like this switch(Controlling_Expression) { … } Controlling_Expression must have type int or char

24 COMP 110: Spring 200924 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 case Case_Label_1: Statements_1 break; … case Case_Label_n: Statements_n break;

25 COMP 110: Spring 200925 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 COMP 110: Spring 200926 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 COMP 110: Spring 200927 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 COMP 110: Spring 200928 Switch Statement Syntax switch(Controlling_Expression) { case Case_Label: Statements break; case Case_Label : Statements break; … default: Statements break; }

29 COMP 110: Spring 200929 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 COMP 110: Spring 200930 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 COMP 110: Spring 200931 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 COMP 110: Spring 200932 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 COMP 110: Spring 200933 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 COMP 110: Spring 200934 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 COMP 110: Spring 200935 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 COMP 110: Spring 200936 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 COMP 110: Spring 200937 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 COMP 110: Spring 200938 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 COMP 110: Spring 200939 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 COMP 110: Spring 200940 Programming Demo Programming

41 COMP 110: Spring 200941 Wednesday Loops Keep up with the reading We’ll start Ch 4 on Wed


Download ppt "COMP 110: Introduction to Programming Tyler Johnson Feb 2, 2009 MWF 11:00AM-12:15PM Sitterson 014."

Similar presentations


Ads by Google