130 likes | 254 Views
Conditional Branching. If Be Or Not If Be (then else). booleans hold a true/false value We take advantage of this by using them to decide which route our program will take. Examples: stinky holds the boolean value for whether or not Mr. Mayewsky is stinky.
E N D
If Be Or Not If Be (then else) • booleans hold a true/false value • We take advantage of this by using them to decide which route our program will take. • Examples: • stinky holds the boolean value for whether or not Mr. Mayewsky is stinky. • If stinky… then Mr. Mayewsky takes a shower. • redLight holds the boolean value for whether or not the light is red • If redLight… then stop car… otherwise (else) step on it to make the light.
If Else Syntax if (boolean){ …code… //executes if boolean is true }else if (boolean2){ …code… //executes if boolean if false //and boolean2 is true }else{ …code… //executes if all booleans are false }
Relational Operators • == • equal to • != • not equal to • > • greater than • >= • greater than or equal to • < • less than • <= • less than or equal to • **Only use these with primitive variables!!!!!!!!!!!!!!!!
If Else Syntax if (time < 7){ mayewsky.sleep(); }else if (time < 16){ mayewsky.work(); }else{ mayewsky.playComputerGames(); }
Boolean Operations • ! – the not operator which will negate the boolean value(true becomes false and vice versa) • && – the and operator which will and two boolean values (both need to be true for the result to be true) • || – the or operator which will or two boolean values (if either is true then the result is true) • Order of Operation: !then&&then|| • Expressions in parenthesis are evaluated first
Order of Operations Example isSmart || !isTall && isFast • The expression below will be evaluated in the following order: • isTallnotted by the ! • !isTallanded with isFast by the && • isSmart is ored with !isTall && isFastby the || • The expression could also be rewritten with parenthesis the following way without changing how it is evaluated: isSmart|| ((!isTall) && isFast)
Truth Tables You can show the results of a boolean expression using a truth table such as the one below that lists all the possible inputs and outputs. 1’s represent true and 0’s represent false.
Truth Tables When given a complicated boolean expression such as the one below, you can break it down into components to more easily evaluate the results. (!A||B) && !(A&&C) || B
Simplifying Boolean Expressions • Many times you can simplify a boolean expression. • There are several tactics that you can take such as truth tables. For example, the expression that is evaluated on the previous slide can be simplified down to !A||B
Using Boolean Operators if (time < 7 || isWeekEnd && time < 10){ mayewsky.sleep(); }else if (time < 16 && !isWeekEnd){ mayewsky.work(); }else if(!isWeekEnd){ mayewsky.playComputerGames(); }else{ mayewsky.watchFootball();
Nesting • You can put an if statement inside another if statement • This can be used to better organize your code. • It makes it both easier to write, read, and edit!
If Else Syntax if (isWeekEnd)){ if (time < 10){ mayewsky.sleep(); }else{ mayewsky.watchFootball(); } }else{ if (time < 7){ mayewsky.sleep(); }else if (time < 5){ mayewsky.work(); }else{ mayewsky.playComputerGames(); } }