Presentation is loading. Please wait.

Presentation is loading. Please wait.

COMP 110: Spring 20091 Announcements Lab 1 was due at noon Lab 2 on Friday (Bring Laptops) Assignment 1 is online TA Office hours online 30-min quiz at.

Similar presentations


Presentation on theme: "COMP 110: Spring 20091 Announcements Lab 1 was due at noon Lab 2 on Friday (Bring Laptops) Assignment 1 is online TA Office hours online 30-min quiz at."— Presentation transcript:

1 COMP 110: Spring 20091 Announcements Lab 1 was due at noon Lab 2 on Friday (Bring Laptops) Assignment 1 is online TA Office hours online 30-min quiz at end of class select all that apply multiple choice

2 COMP 110: Spring 20092 Questions? Last time we covered Typecasting Strings Binary/Unary operators I/O Style

3 COMP 110: Spring 20093 Today in COMP 110 Branching if – else control structure booleans relational operators

4 COMP 110: Spring 20094 Branching Sometimes, it is necessary to make decisions in programs Example The remainder operator can be used to determine if a number n is even or odd If n%2 equals 0, n is even If n%2 equals 1, n is odd

5 COMP 110: Spring 20095 Branching We know how to calculate n % 2 int result = n % 2; But what next to do next?

6 COMP 110: Spring 20096 Branching int result = n % 2; Evaluate result is 0? Execute Print “n is even” Execute Print “n is odd” true false

7 COMP 110: Spring 20097 If-Else Statement An if-else statement allows us to make decisions in a program int result = n % 2; if(result == 0) System.out.println(“That number is even!”); else System.out.println(“That number is odd!”);

8 COMP 110: Spring 20098 If-Else Example int n = 2 int result = n % 2; if(result == 0) System.out.println(“That number is even!”); else System.out.println(“That number is odd!”); System.out.println(“Finished!”); result = 0

9 COMP 110: Spring 20099 If-Else Example int n = 3 int result = n % 2; if(result == 0) System.out.println(“That number is even!”); else System.out.println(“That number is odd!”); System.out.println(“Finished!”); result = 1

10 COMP 110: Spring 200910 Boolean Expressions (result == 0) is a boolean expression Boolean expressions evaluate to either true or false Examples 10 > 5, (true) 4 > 6, (false) Integers are whole numbers, (true)

11 COMP 110: Spring 200911 Java Comparison Operators ==Equal to !=Not equal to >Greater than >=Greater than or equal to <Less than <=Less than or equal to

12 COMP 110: Spring 200912 If-Else Statement Syntax Syntax if(Boolean_Expression) Statement_1 else Statement_2 If Boolean_Expression is true, Statement_1 is executed; otherwise Statement_2 is executed

13 COMP 110: Spring 200913 Compound Statements Multiple statements can be included in each branch Called a compound statement Enclose between {…} if(Boolean_Expression) { Statements_1 } else { Statements_2 }

14 COMP 110: Spring 200914 If without Else Syntax if(Boolean_Expression) Statement_1 Example if(accntBalance-withdrawal < 0) //overdraft fee accntBalance = accntBalance – FEE;

15 COMP 110: Spring 200915 Common Comparison Mistakes Don’t confuse the assignment operator (=) with the comparison operator (==)! if(x == y) //valid if(x = y) //syntax error

16 COMP 110: Spring 200916 Common Comparison Mistakes Don’t use == to compare Strings Use string.equals(A_String) or string.equalsIgnoreCase(A_String) Example String s1 = keyboard.next(); //read in a string if(s1.equals(“Hello”)) System.out.println(“The String is Hello.”); else System.out.println(“The String is not Hello.”);

17 COMP 110: Spring 200917 The && Operator (AND) We can check for multiple conditions using the && (AND) operator Meaning is similar to that of English “and” if ((temperature > 50) && (temperature < 75)) { // walk to school if 50 < temperature < 75 } else { //otherwise drive to school }

18 COMP 110: Spring 200918 The || Operator (OR) We can also join boolean expression with || (OR) Meaning is similar to that of English “or” if (raining || runningLate) { //drive to school }

19 COMP 110: Spring 200919 The ! Operator (NOT) Boolean negation !false is True !true is false Example if (!cloudy) { // walk to school if it’s not cloudy }

20 COMP 110: Spring 200920 Effect of Boolean Operators ABA && BA || B!A true false truefalse truefalse truefalsetrue false true

21 COMP 110: Spring 200921 Boolean Expression Examples Using x = 5, y = 10, z = 15 (x x) (false && true) -> false (x x) (true || true) -> true (x > 3 || z != 15) (true || false) -> true (!(x > 3) && x + y == z) (false && true) -> false

22 COMP 110: Spring 200922 Avoiding the Negation Op !(A !(A > B) --> !(A >= B) --> !(A == B) --> !(A != B) --> (A >= B) (A > B) (A <= B) (A < B) (A != B) (A == B) It’s best to avoid use of the negation operator (!) when possible

23 COMP 110: Spring 200923 Nested If-Statements It’s possible to have if statements inside other if statements Example We want to perform some checks on the user’s account balance If the balance is >= 0, we’ll add interest if the interest rate is >= 0, and print an error message if interest rate is < 0. If the balance is < 0, we’ll subtract a fee.

24 COMP 110: Spring 200924 Nested If Statements Evaluate balance >= 0 Evaluate INTEREST_RATE >= 0 Execute balance -= FEE truefalse Execute balance = balance + balance*INTEREST_RATE Execute Print Error Message a truefalse

25 COMP 110: Spring 200925 Nested If Statements if(balance >= 0) { if(INTEREST_RATE >= 0) balance = balance + INTEREST_RATE*balance; else System.out.println(“Negative Interest!”); } else balance = balance – FEE;

26 COMP 110: Spring 200926 Nested If Statements What if we didn’t need to print the error message? if(balance >= 0 && INTEREST_RATE >= 0) balance = balance + INTEREST_RATE*balance; else balance = balance – FEE; //whats wrong here?

27 COMP 110: Spring 200927 Multi-Branch If Statements What if we need to decide between many possibilities? Example Given a numeric score (0..100) determine whether the grade is an A,B,C,D,or F

28 COMP 110: Spring 200928 Multi-Branch If Statements A if: score >= 90 B if: 90 > score >= 80 C if: 80 > score >= 70 D if: 70 > score >= 60 F in all other cases

29 COMP 110: Spring 200929 Multi-Branch If Statements We could write this as follows if(score >=90) grade = ‘A’; else if(score >=80) grade = ‘B’; else if(score >=70) grade = ‘C’; else if(score >=60) grade = ‘D’; else grade = ‘F’;

30 COMP 110: Spring 200930 Multi-Branch If Statements The preferred way to write this is if(score >=90) grade = ‘A’; else if(score >=80) grade = ‘B’; else if(score >=70) grade = ‘C’; else if(score >=60) grade = ‘D’; else grade = ‘F’;

31 COMP 110: Spring 200931 Multi-Branch If Statement Syntax if(Boolean_Expression_1) Action_1 else if(Boolean_Expression_2) Action_2 … else if(Boolean_Expression_n) Action_n else Default_Action

32 COMP 110: Spring 200932 Programming Demo Write a program to read in three distinct nonnegative integers from the keyboard and display them in increasing order

33 COMP 110: Spring 200933 Programming Demo Designing the algorithm Determine which of a,b,c is the smallest If it’s not a, is it b? If it’s not a or b, must be c Determine which of the two remaining integers is smaller than the other

34 COMP 110: Spring 200934 Programming Demo Evaluate a is smallest? true false a < b < ca < c < b Evaluate b < c true false b < a < cb < c < a Evaluate a < c true false c < a < bc < b < a Evaluate a < b true false Evaluate b is smallest? truefalse

35 COMP 110: Spring 200935 Programming Demo Pseudocode Ask user for three integers, a,b,c Determine which of a,b,c is the smallest Determine which of the remaining two is smaller Print a,b,c in ascending order

36 COMP 110: Spring 200936 Friday Recitation Bring Laptop (fully charged) Any questions about Program 1


Download ppt "COMP 110: Spring 20091 Announcements Lab 1 was due at noon Lab 2 on Friday (Bring Laptops) Assignment 1 is online TA Office hours online 30-min quiz at."

Similar presentations


Ads by Google