Presentation is loading. Please wait.

Presentation is loading. Please wait.

Week 3 - Monday.  What did we talk about last time?  Using Scanner to get input  Basic math operations  Lab 2.

Similar presentations


Presentation on theme: "Week 3 - Monday.  What did we talk about last time?  Using Scanner to get input  Basic math operations  Lab 2."— Presentation transcript:

1 Week 3 - Monday

2  What did we talk about last time?  Using Scanner to get input  Basic math operations  Lab 2

3

4

5  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 double x = 5.74961; System.out.format("%.2f", x); //prints 5.75 System.out.format("Total = $%.2f", 15.7777); //prints Total = $15.78

6 There are three parts to using Scanner for input 1. Include the appropriate import statement so that your program knows what a Scanner object is 2. Create a specific Scanner object with a name you choose 3. Use the object you create to read in data

7

8  Given a temperature in Celsius, what is the equivalent in Fahrenheit?  T F = (9/5)T C + 32

9  How complex can expressions get?  What’s the value of a ?  18! int a = 31; int b = 16; int c = 1; int d = 2; a = b + c * d – a / b / d; int a = 31; int b = 16; int c = 1; int d = 2; a = b + c * d – a / b / d;

10  Order of operations holds like in math  You can use parentheses to clarify or change the precedence  Now a is 16 int a = 31; int b = 16; int c = 1; int d = 2; a = (((b + c) * d) – a / b) / d; int a = 31; int b = 16; int c = 1; int d = 2; a = (((b + c) * d) – a / b) / d;

11  You cannot directly store a double value into an int variable  However, you can cast the double value to convert it into an int  Casting tells the compiler that you want the loss of precision to happen  You can always store an int into a double int a = 2.6;// fails! int a = (int)2.6;// succeeds! (a = 2)

12

13  There are operations beyond +, -, *, /, and % that you probably want to do with numbers  Java has those built-in because the computer can do those directly  A number of other operations can be done by calling methods  Methods will end up being very important to us later

14  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

15  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 );

16 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 result = class.method( input );

17  In Java, the conversion of a double into an int does not use rounding  As in the case of integer division, the fractional part is dropped  For positive numbers, that's like using floor  For negative numbers, that's like using ceiling  The right way to do rounding is to call Math.round() double x = 2.6; int a = (int)Math.round(x);// rounds double x = 2.6; int a = (int)Math.round(x);// rounds

18 Return typeNameJob doublesin( double theta ) Find the sine of angle theta doublecos( double theta ) Find the cosine of angle theta doubletan( double theta ) Find the tangent of angle theta doubleexp( double a ) Raise e to the power of a (e a ) doublelog( double a ) Find the natural log of a doublepow( double a, double b ) Raise a to the power of b (a b ) longround( double a ) Round a to the nearest integer doublerandom() Create a random number in [0, 1) doublesqrt( double a ) Find the square root of a doubletoDegrees( double radians ) Convert radians to degrees doubletoRadians( double degrees ) Convert degrees to radians

19  Compute the hypotenuse of a triangle  a 2 + b 2 = c 2 b a c

20

21  The boolean type seems so simple  What on earth would we want to do with it?  Just like numerical types, we can combine boolean s in various ways  You might be familiar with these operations if you have taken a course in logic

22  The NOT operator  Changes a true into a false or a false into a true x!x truefalse true

23  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)

24  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 survive xyx && y true false truefalse

25  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 xyx || y true falsetrue falsetrue false

26  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 xyx ^ y true false truefalsetrue falsetrue false

27 (!true && (false^(false||true)))  Is this expression true or false ?  It's false

28  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

29

30  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 ? char letter; letter = 'x';// letter contains 'x' letter++;// letter contains 'y' letter++; // letter contains 'z' letter++; // letter contains ?

31  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 int number; number = 'a';// letter contains 97 char letter = 'r'; int number; number = letter – 'a' + 1; //number is 18 char letter = 'r'; int number; number = letter – 'a' + 1; //number is 18

32  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

33  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

34  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!\""; String blanks = "\t\t\t\t\n"; String quote = "He said, \"Attack!\"";

35

36  Finish boolean and char operations  String operations  Wrapper classes

37  Keep reading Chapter 3 of the textbook  Get started on Project 1


Download ppt "Week 3 - Monday.  What did we talk about last time?  Using Scanner to get input  Basic math operations  Lab 2."

Similar presentations


Ads by Google