Week 13 - Wednesday. What did we talk about last time? Networking.
Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.
-
Upload
darleen-porter -
Category
Documents
-
view
219 -
download
3
Transcript of Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.
![Page 1: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/1.jpg)
CS 121Week 3 - Wednesday
![Page 2: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/2.jpg)
Last time
What did we talk about last time? Math methods Lab 2
![Page 3: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/3.jpg)
Questions?
![Page 4: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/4.jpg)
Project 1
![Page 5: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/5.jpg)
System.out.format()
For Project 1, the easiest way to print out data with 2 decimal places is put "%.2f" in the formatting string for System.out.format()
If you want, you can include other things in the formatting string
double x = 5.74961;System.out.format("%.2f", x); //prints 5.75
System.out.format("Total = $%.2f", 15.7777); //prints Total = $15.78
![Page 6: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/6.jpg)
Review of math methods
![Page 7: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/7.jpg)
Methods
A method is a piece of Java code that has been packaged up so that you can use it over and over
Usually, a method will take some input and give some output
System.out.println() is an example of a method
Using a method (calling a method) always requires parentheses
![Page 8: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/8.jpg)
Method example with sin()
The sin() method allows you to find the sine of an angle (in radians)
This method is inside the Math class The answer that it gives back is of
type double To use it, you might type the
following:
double value = Math.sin( 2.4 );
![Page 9: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/9.jpg)
If your method takes input, you put it inside the
parentheses, if not, you leave them
empty
Next, you must give the method name that you
are calling
Unless the method is inside your class, you must supply a
class name and a dot
You can store the result of the
method, as long as the variable
matches the type that the method
gives back
Method syntax
result = class.method( input );
![Page 10: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/10.jpg)
Other Math methodsReturn 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
double toDegrees( double radians ) Convert radians to degrees
double toRadians( double degrees ) Convert degrees to radians
![Page 11: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/11.jpg)
Operations on booleans
![Page 12: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/12.jpg)
Operations on booleans
The boolean type seems so simple What on earth would we want to do
with it? Just like numerical types, we can
combine booleans in various ways You might be familiar with these
operations if you have taken a course in logic
![Page 13: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/13.jpg)
The ! operator
The NOT operator Changes a true into a false or a false into a true
x !x
true false
false true
![Page 14: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/14.jpg)
Combining boolean values
We can combine statements in logic together to make other interesting statements
The way we combine them makes a difference, e.g. Politicians lie.
(True) Cast iron sinks. (True)
Politicians lie in cast iron sinks.(Absurd)
![Page 15: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/15.jpg)
The && operator
The AND operator It gives back true only if both things
being combined are true If I can swim AND the pool is not
filled with acid, then I will survivex y x && y
true true true
true false false
false true false
false false false
![Page 16: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/16.jpg)
The || operator
The OR operator It gives back true if either or both
things being combined are true If I get punched in the face OR
kicked in the stomach, then I will be in pain x y x || y
true true true
true false true
false true true
false false false
![Page 17: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/17.jpg)
The ^ operator
The XOR operator, sort of like what people often mean when they say "or" in English
It gives back true if one but not both things are true
If I get 1 apple XOR 3 oranges, then I will have an odd number of fruit
x y x ^ y
true true false
true false true
false true true
false false false
![Page 18: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/18.jpg)
See how you're following…
(!true && (false^(false||true)))
Is this expression true or false?
It's false
![Page 19: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/19.jpg)
Short circuit evaluation
In some circumstances, Java doesn't check the whole expression:
(true || (some complicated expression)) Ignores everything after || and gives
back true
(false && (some complicated expression)) Ignores everything after && and gives
back false
![Page 20: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/20.jpg)
Operations on char values
![Page 21: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/21.jpg)
What kinds of operations would you expect on chars?
Multiplication and division don't seem to make sense
We can increment and decrement a char
char letter;
letter = 'x'; // letter contains 'x'letter++; // letter contains 'y'letter++; // letter contains 'z'letter++; // letter contains ?
![Page 22: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/22.jpg)
Sometimes it's useful to know the number
It is possible to convert a char into an int
It can be more useful to get the offset from a starting point
int number;number = 'a'; // letter contains 97
char letter = 'r';int number;number = letter – 'a' + 1;
//number is 18
![Page 23: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/23.jpg)
ASCII Table
Everything in the computer is 1's and 0's
Each character has a number associated with it
These numbers can be listed in tables
The ASCII table only covers 7 bits of information (0-127)
NEVER EVER TYPE THESE NUMBERS IN CODE
![Page 24: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/24.jpg)
Escape sequences
Remember that we use single quotes to designate a char literal: 'z'
What if you want to use the apostrophe character ( ' )? apostrophe: '\''
What if you want to use characters that can't be printed, like tab or newline? tab: '\t' newline: '\n'
The backslash is a message that a special command called an escape sequence is coming
![Page 25: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/25.jpg)
Escape sequences in String literals
You can put escape sequences into String literals as well
You do not have to escape apostrophes in a String
But you do have to escape quotation marks
String blanks = "\t\t\t\t\n";
String quote = "He said, \"Attack!\"";
![Page 26: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/26.jpg)
Operations on String values
![Page 27: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/27.jpg)
Concatenation
The only operator that we will use directly with String values is the + (concatenation) operator
This operator creates a new String that is the concatenation of the two source Strings
As with numerical types, the + operator does not change the two Strings being concatenatedString word;
word = "tick" + "tock"; // word is "ticktock"
![Page 28: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/28.jpg)
Concatenation with other types
Concatenation is a great tool for merging lots of different types into a String
Confusion can arise:
String word;word = 99 + " problems"; // word is
// "99 problems"
String word;word = "love potion #" + 4 + 5; // word is "love potion #45"word = "love potion #" + (4 + 5); // word is "love potion #9"
![Page 29: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/29.jpg)
Strings are objects
Objects have data inside of them but also have the ability to do things with methods
Among other things, a String can: Compare itself with other Strings Find its length Say which character is located at
position i Generate a substring
![Page 30: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/30.jpg)
String comparison
To see if two Strings are identical, use the equals() method:
If they are the same (including case), the method will return true
If they are not, the method will return false
String word1 = "lettuce";String word2 = "let us";boolean same = word1.equals ( word2 ); // false
![Page 31: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/31.jpg)
String comparison
To see which String goes first in the dictionary, use the compareTo() method:
If word1 comes first, value will be a negative number
If word2 comes first, value will be a positive number
If they are the same, value will be 0
String word1 = "hard work";String word2 = "success";int value = word1.compareTo( word2 ); // < 0
![Page 32: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/32.jpg)
String length
To find the length of a String, use the length() method:
It is possible to have a String of length 0:
String word = "a mile long";int length = word.length(); // length = 11
String nothing = "";int length = nothing.length(); // length = 0
![Page 33: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/33.jpg)
char at position i
To find the char at position i in a String, use the charAt() method:
Woe betide the man (or woman) who asks for a character out of range:
String word = "walnut";char c = word.charAt(3); // c = 'n'
String word = "short";char c = word.charAt(10); // ouch!
![Page 34: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/34.jpg)
Getting a substring
To get a substring of a String, use the substring() method:
The first int tells which char to start on, the second int says which char to stop before
String word1 = "disco fever";String word2 = word1.substring(3,7);
//word2 = "co f"
![Page 35: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/35.jpg)
Example
Write a program that reads a first and a last name
Then, output only the person's initials
![Page 36: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/36.jpg)
Wrapper Classes
![Page 37: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/37.jpg)
Classes and objects are useful
There are certain things that are difficult to do with the operations we've shown you
For example, how do you turn a String representation of a number like "847" into the actual int 847?
Wrapper classes!
![Page 38: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/38.jpg)
Wrapper classes
Each primitive data type in Java has a wrapper class
We will focus on 3: Integer Double Character
![Page 39: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/39.jpg)
Integer class
The main uses of the Integer class are converting ints to and from Strings
To convert a String to an int, use the parseInt() method
To convert an int to a String, use the toString() method (or just concatenate)
String number = "345";int value = Integer.parseInt(number);
int value = 543;String number = Integer.toString(value);
![Page 40: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/40.jpg)
Double class
The Double class is much like the Integer class
To convert a String to a double, use the parseDouble() method
To convert a double to a String, use the toString() method (or just concatenate)
String number = "-0.4581";double value = Double.parseDouble(number);
double value = 6.02e23;String number = Double.toString(value);
![Page 41: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/41.jpg)
Character class
The Character class is mostly useful for getting information about a particular char
For example, you can find out whether a char is a digit, is a letter, is uppercase, or is lowercase by calling the isDigit(), isLetter(), isUpperCase(), or isLowerCase() methods, respectively
char c = '8';boolean value = Character.isDigit(c); //true
![Page 42: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/42.jpg)
Quiz
![Page 43: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/43.jpg)
Upcoming
![Page 44: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/44.jpg)
Next time…
Introduction to if-statements Lab 3
![Page 45: Week 3 - Wednesday. What did we talk about last time? Math methods Lab 2.](https://reader036.fdocuments.us/reader036/viewer/2022062423/56649e735503460f94b73128/html5/thumbnails/45.jpg)
Reminders
Keep reading Chapter 3 of the textbook
Keep working on Project 1 Due next Friday