Download presentation
Presentation is loading. Please wait.
Published bySusan Burke Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.