Top Banner
1 CS1001 CS1001 Lecture 15 Lecture 15
27

1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

Jan 18, 2016

Download

Documents

Kristina Gray
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

11

CS1001CS1001

Lecture 15Lecture 15

Page 2: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

22

OverviewOverview

Java ProgrammingJava Programming ArraysArrays

Page 3: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

33

GoalsGoals

Understand the basics of Java Understand the basics of Java programmingprogramming

Control Statements and ArraysControl Statements and Arrays

Page 4: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

44

AssignmentsAssignments

Brookshear: Ch 4, Ch 5 (Read)Brookshear: Ch 4, Ch 5 (Read) Read linked documents on these Read linked documents on these

slides (slides will be posted in slides (slides will be posted in courseworks)courseworks)

http://http://java.sun.comjava.sun.com/docs/books/tutorial//docs/books/tutorial/

Page 5: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

55

Objectives:Objectives: Learn about the Learn about the booleanboolean data type data type

Learn the syntax for Learn the syntax for if-elseif-else statements statements

Learn about relational and logical Learn about relational and logical operators, De Morgan’s laws, short-circuit operators, De Morgan’s laws, short-circuit evaluationevaluation

Learn when to use nested Learn when to use nested if-elseif-else statements, statements, if-else-ifif-else-if sequences, the sequences, the switchswitch statement statement

Page 6: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

66

MidtermMidterm

History – Know people and the point of their History – Know people and the point of their contributions. Be prepared for short answers contributions. Be prepared for short answers (2-3 sentences)(2-3 sentences)

Hardware – Know the main parts of a Hardware – Know the main parts of a computer (processor, memory, etc). computer (processor, memory, etc). Understand that programs and data are Understand that programs and data are bothboth information and can be stored in some sort of information and can be stored in some sort of memory.memory.

Assembly – given a simple assembly Assembly – given a simple assembly language, write a short (very short) programlanguage, write a short (very short) program

Problem solving – identify a problem with a Problem solving – identify a problem with a given algorithmgiven algorithm

Page 7: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

77

MidtermMidterm

Networking: TCP vs UDPNetworking: TCP vs UDP Good/bad design features: be able to Good/bad design features: be able to

name a few usability featuresname a few usability features Modern architecture: privacy, Modern architecture: privacy,

centralization (references on review centralization (references on review sheet)sheet)

Programming: given program x, what Programming: given program x, what does it output when run?does it output when run?

Find the error (Find the error (notnot syntax errors; logic syntax errors; logic errors only)errors only)

Page 8: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

88

if-elseif-else Statement Statement

if ( <condition> ){ < statements >}else{ < other statements >}

if ( <condition> ){ < statements >}

else clause is optional

Page 9: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

99

booleanboolean Data Type Data Type

George Boole (1815 - 1864)George Boole (1815 - 1864) Unified Logic and MathematicsUnified Logic and Mathematics booleanboolean variables may have variables may have

only two values, only two values, truetrue or or falsefalse.. You define You define booleanboolean fields or fields or

booleanboolean local variables the local variables the same way as other variables:same way as other variables:private boolean hasMiddleName;private boolean hasMiddleName;boolean isRolling = false;boolean isRolling = false;

boolean truefalse

Reserved words

Page 10: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

1010

Boolean ExpressionsBoolean Expressions

In In if (<if (<conditioncondition> )> ) < <conditioncondition> is a > is a BooleanBoolean expression. expression.

A Boolean expression evaluates to A Boolean expression evaluates to either either truetrue or or false.false.

Boolean expressions are written using Boolean expressions are written using booleanboolean variables and variables and relationalrelational and and logicallogical operators. operators.

Page 11: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

1111

Relational OperatorsRelational Operators

<<, , >>, , <=<=, , >=>=, , ====, , !=!=

is equal to

is NOT equal to

Page 12: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

1212

Relational Operators Relational Operators (cont’d)(cont’d) Apply to numbers or Apply to numbers or

charchars:s:if ( x <= y ) ...if ( x <= y ) ...if ( a != 0 ) ...if ( a != 0 ) ...if ( letter == ‘Y’ ) ...if ( letter == ‘Y’ ) ...

Do not use Do not use ==== or or !=!= with with doubledoubless because because they may have rounding they may have rounding errorserrors

double x = 7.0;double y = 3.5;if (x / y == 2.0) ...

May be false!

Page 13: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

1313

Relational Operators Relational Operators (cont’d)(cont’d) Be careful using Be careful using ==== and and !=!= with with

objectsobjects (e.g., (e.g., StringStrings): they compare s): they compare references (addresses) rather than references (addresses) rather than values (the contents)values (the contents)

String cmd = console.readLine();String cmd = console.readLine();if ( cmd == "Help" ) ...if ( cmd == "Help" ) ...

Wrong!(always false)

Page 14: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

1414

Relational Operators Relational Operators (cont’d)(cont’d) Use the Use the equalsequals method to compare method to compare

StringStrings:s:

ororif ( "Help".equals (cmd) ) ...

String cmd = console.readLine();

if ( cmd.equals ("Help") ) ...

Page 15: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

1515

Relational Operators Relational Operators (cont’d)(cont’d) Use the Use the ==== or or !=!= operator with operator with

strings and other objects when you strings and other objects when you want to know whether or not this is want to know whether or not this is exactly the same objectexactly the same object..

Also use Also use ==== or or !=!= to compare to to compare to nullnull::

String text = file.readLine();

if ( text != null ) ...

Page 16: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

1616

Logical OperatorsLogical Operators

&&&&, , ||||, , !!

and

or

not

Page 17: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

1717

Logical Operators Logical Operators (cont’d)(cont’d) ( ( condition1condition1 &&&& condition2 condition2 )) is true is true

if and only if if and only if bothboth condition1condition1 andand condition2condition2 are true are true

( ( condition1condition1 |||| condition2 condition2 )) is true if is true if and only if and only if condition1condition1 oror condition2condition2 (or both) are true(or both) are true

!!condition1 condition1 is true if and only if is true if and only if condition1condition1 is false is false

Page 18: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

1818

Logical Operators Logical Operators (cont’d)(cont’d) &&&&, , ||||, and , and !! obey the laws of formal obey the laws of formal

logic called logic called De Morgan's lawsDe Morgan's laws::

Example:Example:

if ( if ( !! ( x => ( x => --10 && x <= 10 ) ) ...10 && x <= 10 ) ) ...

if ( x < if ( x < --10 || x > 10 ) ... 10 || x > 10 ) ...

! (p && q) == ( !p || !q )

! (p || q) == ( !p && !q )

Easier to read

Page 19: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

1919

Ranks of OperatorsRanks of Operators! -(unary) ++ -- (cast)

* / %

+ -

< <= > >= == !=

&&

||

if ( ( ( year % 4 ) == 0 ) && ( month == 2 ) ) ...

if ( year % 4 == 0 && month == 2 ) ...

Easier to read

Page 20: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

2020

Short-Circuit Short-Circuit EvaluationEvaluationif (if (condition1condition1 &&&& condition2condition2) ...) ...

If If condition1condition1 is is falsefalse, , condition2condition2 is is not not evaluatedevaluated (the result is false anyway) (the result is false anyway)

if (if (condition1condition1 |||| condition2condition2) ...) ...

If If condition1condition1 is true, is true, condition2condition2 is is not not evaluatedevaluated (the result is true anyway) (the result is true anyway)

if ( x >= 0 && Math.sqrt (x) < 15.0) ...

Always OK: won’t get to sqrt if x < 0

Page 21: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

2121

Nested Nested if-elseif-else

if ("forward".equals(cmd)){ if (slide >= numSlides) beep.play(); else slide++;}else{ if (slide <= 1) beep.play(); else slide--;}

Page 22: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

2222

if-else-ifif-else-if

if (drinkSize.equals(”Large")){ price += 1.39;}else if (drinkSize.equals("Medium")){ price += 1.19;}else // if "Small" drink size{ price += 0.99;}

Page 23: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

2323

Common Common if-elseif-else Errors Errors

if (...)if (...) if (...)if (...) statement1;statement1;elseelse statement2;statement2;......Missing braces

It is safer to always use braces in if-else

if (...)if (...)statement1;statement1;statement2;statement2;

......

if (...) if (...) ;;{{

statements;statements; ......}}

Extra semicolon

Page 24: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

2424

TheThe switchswitchStatementStatement

switch (switch (expressionexpression)){{

case case value1value1:: ......

break;break;

case case value2value2:: ......

break;break; ...... ...... default:default: ...... break;break;}}

switch casedefaultbreak

Reserved words

Don’t forget breaks!

Page 25: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

2525

The The CrapsCraps Applet Applet

Page 26: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

2626

Review:Review: What are the possible values of a What are the possible values of a

booleanboolean variable? variable? What operators are used to compare What operators are used to compare

values of numbers and values of numbers and charchars?s? How can you test whether two How can you test whether two StringStrings s

have the same values? have the same values? Which binary operators have higher Which binary operators have higher

rank (are executed first), relational or rank (are executed first), relational or logical?logical?

Page 27: 1 CS1001 Lecture 15. 2 Overview Java Programming Java Programming Arrays Arrays.

2727

Review (cont’d):Review (cont’d): Can you have an Can you have an ifif statement statement

without an without an elseelse?? What are De Morgan’s laws?What are De Morgan’s laws? Explain short-circuit evaluation.Explain short-circuit evaluation. How long can an How long can an if-else-ifif-else-if sequence sequence

be?be? What are What are breakbreaks used for in s used for in switchswitch? ?

What happens if you forget one?What happens if you forget one? Can the same case in a Can the same case in a switchswitch have have

two breaks?two breaks?