1 / 33

COMP 1600

Week 4 - Monday. COMP 1600. Last time. What did we talk about last time? Wrapper classes Examples if statements. Questions?. Project 1. Conditional Execution Review. Behold!. The if -statement: x is small will only print out if x is less than 5

gagan
Télécharger la présentation

COMP 1600

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. Week 4 - Monday COMP 1600

  2. Last time • What did we talk about last time? • Wrapper classes • Examples • if statements

  3. Questions?

  4. Project 1

  5. Conditional Execution Review

  6. Behold! • The if-statement: • x is small will only print out if x is less than 5 • In this case, we know that it is, but x could come from user input or a file or elsewhere intx = 4; if( x < 5 ) System.out.println("x is small!");

  7. Anatomy of an if Any boolean expression The if part if( condition ) statement; Any single executable statement

  8. Conditions

  9. Conditions in the if • Any statement that evaluates to a boolean is legal • Examples: • x == y • true • Character.isDigit('r') • s.equals("Help me!") && (z < 4)

  10. Comparison • The most common condition you will find is a comparison between two things • In Java, that comparison can be: • == equals • != does not equal • < less than • <= less than or equal to • > greater than • >= greater than or equal to • These are called relational operators

  11. Equals • You can use the == operator to compare any two things of the same type • Different numerical types can be compared as well (3 == 3.0) • Be careful with double types, 0.33333333 is not equal to 0.33333332 int x = 3; if( x == 4 ) System.out.println("This doesn't print");

  12. Not Equals • Any place you could have used the == operator, you can use the != operator • If == gives true, the != operator will always give false, and vice versa • If you want to negate a condition, you can always use the ! as a not is the same as if( x != 4 ) if( !(x == 4) )

  13. = != == • Remember, a single equal sign (=) is the assignment operator (think of a left-pointing arrow) • A double equals (==) is a comparison operator int y = 10; if( y = 6 ) //compiler error! boolean b = false; if( b = false ) //no error but wrong

  14. Less Than (or Equal To) • Inequality is very important in programming • You may want to take an action as long as a value is below a certain threshold • For example, you might want to keep bidding at an auction until the price is greater than what you can afford • Watch for strict inequality (<) vs. non-strict inequality (<=) if( x <= 4 ) System.out.println("x is less than 5");

  15. Greater Than (or Equal To) • Just like less than or equal to, except the opposite • Note that (because of the All-Powerful Math Gods) the opposite of <= is > and the opposite of >= is < • Thus, • !( x <= y ) is equivalent to ( x > y ) • !( x >= y ) is equivalent to ( x < y )

  16. Else

  17. Either/Or • Sometimes you have to make a decision • If a condition is true, you go one way, if not, you go the other • For example: • If I pass COMP 1600, • Then I throw a kegger to celebrate • Otherwise, • I punch Dr. Wittman in the face

  18. Exclusivity • Notice the nature of this kind of condition • Both outcomes cannot happen • Either a kegger gets thrown or Dr. Wittman gets punched in the face • For these situations, we use the else construct

  19. Anatomy of an if-else if( condition ) statement1; else statement2; Two different outcomes

  20. else example Scanner in = new Scanner(System.in); intbalance = in.nextInt(); if( balance < 0 ) System.out.println("You are in debt!"); else System.out.println("You have $" + balance);

  21. Multiple Statements and Nesting

  22. What if you need to do several things conditionally? • No problem • Use braces to treat a group of statements like a single statement if( x == 4 ) { System.out.println("I hate 4"); System.out.println("Let's change x."); x = 10; }

  23. An if with multiple statements if( condition ){ statement1; statement2; … statementn; } A whole bunch of statements

  24. Nesting • Sometimes you want to make one set of decisions based on another set of decisions • if-statements can be nested inside the bodies of other if-statements • You can put if-statements inside of if-statements inside of if-statements… going arbitrarily deep

  25. Nested ifs if( condition1 ){ statement1; if( condition2 ) { if( condition3 ) statement2; … } }

  26. An example using quadrants • For the next example, recall the 4 quadrants of the Cartesian coordinate system y 2 1 (0,0) -x x 3 4 -y

  27. Nesting example • Find which quadrant the point (x,y) is in if( x >= 0.0 ) { if( y >= 0.0 ) System.out.println("Quadrant 1"); else System.out.println("Quadrant 4"); } else { if( y >= 0.0 ) System.out.println("Quadrant 2"); else System.out.println("Quadrant 3"); }

  28. if and else if • You can list a sequence of exclusive possibilities using nesting: if( index == 1 ) System.out.println("First"); else if( index == 2 ) System.out.println("Second"); else if( index == 3 ) System.out.println("Third"); else System.out.println(index + "th");

  29. else-if doesn’t actually exist • A block of code is treated just like one statement • A whole if-else is treated the same if( … ) statement1; else if( … ) statement2; else statement3; if( … ){ statement1; } else { if( … ) statement2; else statement3; } =

  30. Speed limit • Sometimes you probably break the speed limit • But, there's one speed limit you can never break • The speed of light c is about 3 x 108 m/s • Given a variable named speed of type double, what's an if-statement that will print an error message if speed is larger than c?

  31. Upcoming

  32. Next time… • Pitfalls with if statements • Examples • switch statements

  33. Reminders • CS Club tonight! • 4-6 p.m. in The Point 113 • Keep reading Chapter 4 of the textbook • Keep working on Project 1 (due this Friday) • Exam 1 is next Monday

More Related