cs0007: introduction to computer programming

Click here to load reader

Upload: sumana

Post on 23-Feb-2016

50 views

Category:

Documents


1 download

DESCRIPTION

Decision Structures: The If-Else If Statement, Nested If Statements, Logical Operators, and String Comparison. CS0007: Introduction to Computer Programming. Review. In a decision structure ’s simplest form certain statements are executed only when… a specific condition exists. - PowerPoint PPT Presentation

TRANSCRIPT

PowerPoint Presentation

CS0007: Introduction to Computer ProgrammingDecision Structures: The If-Else If Statement, Nested If Statements, Logical Operators, and String Comparison1ReviewIn a decision structures simplest form certain statements are executed only when a specific condition exists.It is said that the statements inside of the decision structure areconditionally executed.Relational Operators determine whethera specific relationship exist between two values.Some relational operators in Java are> , < , >= , 3 && 4 < 5false first operand is false2 < 3 && 4 < 5true2 > 3 || 4 < 5true2 > 3 || 4 > 5false both operands are false!(2 > 3)true operand is false

Logical AND ExampleNew Topics:Logical ANDLogical AND and NestingIf we have the && operator, do we need nesting?if(BooleanExpression1) {if(BooleanExpression2) {Both conditions met}else {Both conditions NOT met}}else {Both conditions NOT met}

if(BooleanExpression1 && BooleanExpression2) {Both conditions met}else {Both conditions NOT met}

Logical AND and NestingAnswer: Yes, to act if one of the conditions is not met:if(BooleanExpression1) {if(BooleanExpression2) {Both conditions met}else {Condition 2 not met}}else {Condition 1 not met}

if(BooleanExpression1 && BooleanExpression2) {Both conditions met}else {Both conditions NOT met}

ExerciseChange NestedIfStatement.java to tell the user if she does not meet one requirement, the other requirement, or BOTH.Hint: we talked about something last lecture that will help usFlagsLogical OR ExampleNew Topics:Logical OR ExerciseChange LogicalOrOperator.java to allow the user to enter capital or lower case Y or N as an answer.HintUse another OR operator.Also, check to make sure the user entered a valid response.Y, N, y, or n.

Comparing String Objects Imagine you have declared two String variables as such:String x = "buffalo";String y = bison";What does x == y resolve to?false, but not for the reason you think!The == operator compares what the reference values are (what objects they are pointing to), NOT what the value of the string is.In some cases this causes problemsYou should use methods in the String class in order to compare String variablesequalscompareToString equals methodTo check if two strings are the same you can use the equals method.StringReference.equals(OtherString);If the string referred to by StringReference is equal to the one referred to by OtherString, then true is returned.Otherwise false is returned.This comparison is case-sensitive ("buffalo" and "Buffalo" are not equal)To do case-insensitive comparison, use equalsIgnoreCaseString compareTo methodIf you want to determine which string is greater use the compareTo method.StringReference.compareTo(OtherString);If the string referred to by StringReference is equal to the one referred to by OtherString, then 0 is returned.If the string referred to by StringReference is less than to the one referred to by OtherString, then a negative number is is returned.If the string referred to by StringReference is greater than to the one referred to by OtherString , then a positive number is returned.This comparison is case-sensitive ("buffalo" and "Buffalo" are not equal)To do case-insensitive comparison, use compareToIgnoreCaseString compareTo methodWhat does it mean for strings to be greater than or less than each other?Java compares the two strings, character by character from left to right.When there is a difference in a character it compares the Unicode values of the characters.If a string is shorter than another, and the shorter one is the beginning of the longer one, the shorter one is considered less."hi" is less than "high" String Comparison ExampleNew Topics:String == operatorequals methodcompareTo methodBlock-Level ScopeIf a variable is declared inside of a block, it is said to have block-level scope.If a variable has Block-Level Scope it is in scope from its declaration to the ending of the block in which it was declared.if(BooleanExpression) {int x;}The variable x has scope from the point it was declared to the }This does not have much use now, but will be more useful when we learn loops.

The Conditional OperatorJava provides and operator to create short expressions that work like if-else statements.BooleanExpression ? Value1 : Value2;If BooleanExpression is true, Value1 is returnedIf BooleanExpression is false, Value2 is returnedExample:if (score < 60)System.out.println("You Fail");elseSystem.out.println("You Pass");

System.out.println("You " + score < 60 ? "Fail" : "Pass");