+ All Categories
Home > Documents > CS 177 Week 3 Recitation Slides

CS 177 Week 3 Recitation Slides

Date post: 21-Jan-2016
Category:
Upload: opal
View: 24 times
Download: 0 times
Share this document with a friend
Description:
CS 177 Week 3 Recitation Slides. Basic Math Operations, Booleans, and Character Operations. Announcements. Project 1 is posted this morning. It is due on Sep. 24th 9pm TAs will start consulting hours next week Mon-Thu 6:00pm to 9:00 pm Mentor Program available - PowerPoint PPT Presentation
29
1 CS 177 Week 3 Recitation Slides Basic Math Operations, Booleans, and Character Operations
Transcript
Page 1: CS 177 Week 3 Recitation Slides

1

CS 177 Week 3 Recitation Slides

Basic Math Operations, Booleans, and Character Operations

Page 2: CS 177 Week 3 Recitation Slides

2

Announcements Project 1 is posted this morning.

It is due on Sep. 24th 9pm TAs will start consulting hours next week

Mon-Thu 6:00pm to 9:00 pm

Mentor Program available Wed 5:30pm to 7:30pm in LWSN B158 Bonus points 5% extra for total score

Page 3: CS 177 Week 3 Recitation Slides

3

QUESTIONS???

Page 4: CS 177 Week 3 Recitation Slides

4

Basic Operations Recap

Page 5: CS 177 Week 3 Recitation Slides

Operations On Integers

+, -, *, / Addition, subtraction, multiplication and division Note that division of integers drops the fractional part

+=, -=, *=, /= a += 4; a = a + 4; c *= 5; c = c * 5;

++, -- a ++; a = a + 1;

% Remainder of division a = 10 % 3; // a contains 1

5

b -= 3; b = b - 3; d /= 2; b = b / 2;

b --; b = b - 1;

Page 6: CS 177 Week 3 Recitation Slides

Question

What are the ways we can write to increment variable a by 1? a = a + 1; a += 1; a ++;

6

Page 7: CS 177 Week 3 Recitation Slides

7

Basic Operations w/IntegersCode Example 1

public class IntegerOperations { public static void main(String[] args) { int a; int b; a = 13 + 20; // a contains 33 b = a / 11; // b contains 3 System.out.println("a = " + a); System.out.println("b = " + b); a -= 7; System.out.println("a = " + a);

b = a / b; // Result = 8.66 but int type means 8 b++; // Increment b from 8 to 9 System.out.println("b = " + b); } }

Outputa = 33

b = 3

a = 26

b = 9

Page 8: CS 177 Week 3 Recitation Slides

8

Basic Operations On Doubles

Same operations as integers But the fractional part is retained

Page 9: CS 177 Week 3 Recitation Slides

9

Basic Operations w/DoublesCode Example 1

public class DoubleOperations { public static void main(String[] args) { double a; double b; double c; double d; a = 4.0 / 3.0; b = a - 1; c = b + b + b * 2; d = 9 / 4; d--;

System.out.println("a = " + a); System.out.println("b = " + b); System.out.println("c = " + c); System.out.println("d = " + d); } }

Outputa = 1.3333333333333333

b = 0.3333333333333333

c = 1.3333333333333333

d = 1.0 QuestionVariable d is a double or an integer?

Page 10: CS 177 Week 3 Recitation Slides

10

Casting in Java

int a = (int) 1.8; // convert double 1.8 into an int 1 Convert one data type to another loss of precision float int, number is rounded down Let the Java compiler know that you are aware that

you are going to lose some information, but you are ok with that.

Page 11: CS 177 Week 3 Recitation Slides

11

Math Library in Java

Java contains a Math class that includes a variety of math functions that can be used to perform other operations on integers and/or doubles

The term “library” just means that it is a collection of predefined methods/functions that a programmer can leverage

Brief example:double x = 16.0;

double y;

y = Math.sqrt(x); // y will be 4.0 after this line executes

Page 12: CS 177 Week 3 Recitation Slides

12

Math Library in Java

Return type Name Job

double sin( double theta ) Find the sine of angle theta

double cos( double theta ) Find the cosine of angle theta

double tan( double theta ) Find the tangent of angle theta

double exp( double a ) Raise e to the power of a (ea)

double log( double a ) Find the natural log of a

double pow( double a, double b ) Raise a to the power of b (ab)

long round( double a ) Round a to the nearest integer

double random() Create a random number in [0, 1)

double sqrt( double a ) Find the square root of a

Page 13: CS 177 Week 3 Recitation Slides

13

Math Operations Code Example

public class MathOperations { public static void main(String[] args) { double a = 25; double b = 4; double x = 2.0; double y = 6.731; double z = 0.5; a = Math.sqrt(a); b = Math.pow(b, 2); x = Math.pow(x, 5) / 8; y = Math.round(y); z = Math.cos(z); System.out.println("a is " + a); System.out.println("b is " + b); System.out.println("x is " + x); System.out.println("y is " + y); System.out.println("z is " + z); } }

Outputa is 5.0

b is 16.0

x is 4.0

y is 7.0

z is 0.8775825618903728 NoteMath.round(y);

(int) (y + 0.5);

These are the same.

Page 14: CS 177 Week 3 Recitation Slides

14

Boolean Operations

Operator Symbol Function

NOT ! true false , false true

AND && Outputs true only if both operands are true

OR || Outputs true if either or both operands are true

XOR ^ Outputs true if one but not both operands are true

Page 15: CS 177 Week 3 Recitation Slides

15

Boolean Operations Code Example

public class BooleanOperations { public static void main(String[] args) { boolean test1 = true; boolean test2 = false; boolean test3 = test1 && test2; boolean test4 = test1 || test2; boolean test5 = test1 ^ test2; boolean test6 = test1 && test1; boolean test7 = test1 ^ test1; System.out.println("NOT " + test1 + " is " + !test1); System.out.println("NOT " + test2 + " is " + !test2); System.out.println(test1 + " AND " + test2 + " is " + test3); System.out.println(test1 + " OR " + test2 + " is " + test4); System.out.println(test1 + " XOR " + test2 + " is " + test5); System.out.println(test1 + " AND " + test1 + " is " + test6); System.out.println(test1 + " XOR " + test1 + " is " + test7);

} }

OutputNOT true is false

NOT false is true

true AND false is false

true OR false is true

true XOR false is true

true AND true is true

true XOR true is false

Page 16: CS 177 Week 3 Recitation Slides

16

Characters in Java

A digit, a letter or a symbol Denoted by single quotes in

Java ‘T’, ‘@’, ‘2’

Represented by numbers in computer Char ch = ‘T’;

// ch contains integer 84// ch contains character ‘T’

Escape sequences \ single quote ‘\’’ New line ‘\n’ Tab ‘\t’ Back slash ‘\\’

charnumber

Page 17: CS 177 Week 3 Recitation Slides

17

Character Operations

Characters are actually integers +, -, ++, --, +=, -= Operations

ASCII number change. Become another character. char ch = ‘a’ + 2; // ch contains number 99

representing ‘c’ ch += 3; // ch contains number 102

representing ‘f’ int dis = ‘g’ – ‘c’; // dis contains 4, no cast required

Page 18: CS 177 Week 3 Recitation Slides

18

Character OperationsCode Example

public class CharacterOperations { public static void main(String[] args) { char letter; int number; letter = ‘l'; // letter contains ‘l' letter++; // letter contains ‘m' System.out.println("letter = '" + letter + "'"); number = letter; // no cast required System.out.println("number = " + number); letter = ‘h'; number = letter - 'a' + 1; System.out.println("'" + letter + "' is the " + number + "th

letter of the alphabet"); } }

Outputletter = 'm'

number = 109

'h' is the 8th letter of the alphabet

Page 19: CS 177 Week 3 Recitation Slides

19

Strings in Java

A list of characters Denoted by double quotes

String str = “Computer”;

+, += operators : concatenation String str1 = “Java is”; String str2 = str1 + “ programming language.”; str1 += “ a cup of coffee.”;

Can concatenate variables of other types as text strings int a = 1; int b = 3; int c = a + b;

String str3 = a + “ + “ + b + “ = “ + c;

Page 20: CS 177 Week 3 Recitation Slides

20

String Class

The String class contains several methods that can be used to perform operations on a string.

Method

Name

Return

Type

Description Usage

compareTo(String t) int Compares two strings string1.compareTo(string2);

length() int Gets length of string string1.length();

charAt(int i) char Finds ith character string1.charAt(3);

equals(String t) Boolean Are two strings equal? string1.equals(string2);

substring(int i, int j) String Finds substring from ith character to character before

jth one

String1.substring(0, 2)

Page 21: CS 177 Week 3 Recitation Slides

Methods in String Class

String str = “Boiler Up!”; Comparison

int a = str.compareTo(“Purdue”); // a contains a negative number boolean b = str.equals(“Purdue”); // b contains false

length() gives number of characters in the string int l = str.length(); // l contains 10

21

Page 22: CS 177 Week 3 Recitation Slides

Methods in String Class

String str = “Boiler Up!”; charAt(int i) get the character at position i

char c = charAt(2); // index starts from 0, c contains ‘i’, not ‘o‘

substring(int i, int j) gives the substring from position i and to the position before j String str2 = str.substring(0, 6); // str2 contains “Boiler” String str3 = str.substring(7, str.length()); // str3 contains

“Up!”

22

0 1 2 3 4 5 6 7 8 9

B o i l e r U p !

Page 23: CS 177 Week 3 Recitation Slides

23

Strings Class Code Example

public class StringOperations { public static void main(String[] args) { String word1; String word2; word1 = “chrome"; word2 = “home"; System.out.println(“Does " + word1 + " = " + word2 + "?"); System.out.println( word1.equals(word2) + "!"); System.out.println("The length of " + word2 + " is: " +

word2.length() ); int position = 3; System.out.println("Position " + position + " in " + word2 + " is '" + word2.charAt(position) + "'"); word1 = "computers are cool"; word2 = word1.substring(3, 8); System.out.println(word2); } }

OutputIs chrome the same as

home?

false!

The length of home is: 4

Position 3 in home is 'e'

puter

Page 24: CS 177 Week 3 Recitation Slides

Question

If we have

String word1 = “Purdue”;

String word2 = “Purdue”; This statement will return true or false?

word1.equals(word2); What about this one?

word1 == word2;

24

Page 25: CS 177 Week 3 Recitation Slides

25

Wrapper Classes

Each primitive data type in Java has a wrapper class Integer converts between int String

String int String str = “345”; int a = Integer.parseInt(str);

int String int value = 890; String str = Integer.toString(value);

Double is similar. double String String double: double d = Double.parseDouble(“345.12”); double String : String str = Double.toString(3.14);

Page 26: CS 177 Week 3 Recitation Slides

26

Wrapper Classes

Character gives information about a particular char Remind from last week:

boolean b = Character.isLowerCase(‘c’); b = Character.isUpperCase(‘c’); b = Character.isLetter(‘c’); b = Character.isDigit(‘c’);

Page 27: CS 177 Week 3 Recitation Slides

27

Wrapper ClassesCode Example 1

public class Wrappers { public static void main(String[] args) { String number1 = "666"; String number2 = "4.51"; int value1 = Integer.parseInt( number1 ); double value2 = Double.parseDouble( number2 ); System.out.println("The integer is " + value1); System.out.println("The double is " + value2);

} }

What would happen if the parseInt and parseDouble methods were not used? (i.e.: int value1 = number1;)

OutputThe integer is 666

The double is 4.51

Page 28: CS 177 Week 3 Recitation Slides

28

Wrapper ClassesCode Example 2

public class Wrappers { public static void main(String[] args) { char c = 'U'; char d = '4'; System.out.println(c + " is:"); System.out.println("a letter:\t" + Character.isLetter(c)); System.out.println("a digit:\t" + Character.isDigit(c)); System.out.println("uppercase:\t" +

Character.isUpperCase(c)); System.out.println("lowercase:\t" +

Character.isLowerCase(c)); System.out.println(d + " is:"); System.out.println("a letter:\t" + Character.isLetter(d)); System.out.println("a digit:\t" + Character.isDigit(d)); System.out.println("uppercase:\t" +

Character.isUpperCase(d)); System.out.println("uppercase:\t" +

Character.isLowerCase(d)); } }

OutputU is:

a letter: true

a digit: false

uppercase: true

lowercase: false

4 is:

a letter: false

a digit: true

uppercase: false

uppercase: false

Page 29: CS 177 Week 3 Recitation Slides

29

Final QUESTIONS???


Recommended