Using Java's Math & Scanner class. Java's Mathematical functions (methods) (1)
-
Upload
giles-walker -
Category
Documents
-
view
243 -
download
1
Transcript of Using Java's Math & Scanner class. Java's Mathematical functions (methods) (1)
Using Java's Math & Scanner class
Java's Mathematical functions (methods) (1)
Java's Mathematical functions (methods) (2)
• Unlike a calculator that always shows the result of a computation on its display....
• A computer will only show the result of a computation when it is told !!!
Java's Mathematical functions (methods) (3)
• A computed value is not printed: If you want to print a computed value, use a print statement
• A computed value is not stored: If you want to store (save) a computed value, use an assignment statement
Reading input from the console input (1)
• The console is the terminal window that is running the Java program.
• When a Java program starts running, the Java runtime system will initialize many variables in support for the running program.
• Java system variable: System.in represents the console input
• A Java program can obtains inputs from the console through the keyboard
Reading input from the console input (2)
• Java's Scanner library class
• The class path of the Scanner class inside the Java library is:
java.util.Scanner
Before a Java program can read input from the keyboard, the program must " construct a Scanner object (explain later)
Example:
Reading input from the console input (3)
• After having constructed the Scanner object named in, you can use the following expression to read a floating point number from the keyboard:
• You must save (store) the number read in by "in.nextDouble()" in a double typed variable with an assignment statement
Reading input from the console input (4)
• the method call in.nextDouble() will invoke (run) a method in Java's library.
• The task performed by in.nextDouble() is to read a floating point number from the keyboard:
Reading input from the console input (5)
• The return value will replace the method call:
• The input value 3.5 is then stored in the variable a !!!
Reading input from the console input (6)
• steps to read in a floating point number
Reading input from the console input (7)
• Good programming courtesy:
• When the program needs the user
to enter input from the keyboard,
it must print out a (short) prompt
message
Different Types of
Numerical Information
Recall
• Recall that the computer can combine adjacent bytes in the RAM memory to form larger memory cells
• To obtain a higher accuracy (= more significant digit of accuracy), we need to combine more memory cells
Trade-offs
• Memory usage
• Speed
Arithmetic expressions that uses higher accuracy will
take longer time to compute
When a Java program needs to use higher accurate numbers, it will not only use more memory, but it will also take a longer time to complete.
Different kinds of floating point numbers in Java
• Java provides 2 different sizes of floating point numbers (and variables):
1. Single precision floating numbers (has lower accuracy and uses less memory)
uses 4 consecutive bytes of memory as a single 32 bit memory cell
2. Double precision floating numbers (has more accuracy and uses more memory)
uses 8 consecutive bytes of memory as a single 64 bit memory cell
Defining single and double precision floating point variables
• define double precision floating point variables:
• define single precision floating point variables:
float and double are considered as different types
Converting (casting) to a single or a double precision representation
• single and double precision floating point numbers uses different encoding methods
• The computer has built-in machine instructions to convert between different encodings
Very important phenomenon in computer programming: lost of accuracy
Safe and unsafe conversion operations
• Safe conversion = a conversion from one representation (encoding) to another representation (encoding) where there is no (or very little) loss in accuracy
• Unsafe conversion = a conversion from one representation (encoding) to another representation (encoding) where there is significant loss in accuracy
Expressions containing values of different types
• A computer can only operate on data of the same data type
In order to perform any operation on two values of differing
types, the computer must: 1. convert one of the types into the other type 2. Perform the operation on the value
Automatic conversions:
1. During a calculation of a arithmetic expressions
Arithmetic promotion of float to double:
2. Storing the result to a variable by an assignment operator
If float value is assigned to a double variable, the float value is converted to double.
The general rule for automatic type conversion in the assignment operation
• If type1 is a higher accuracy type than type2, then:
The type2 value is automatically converted to type1 before the assignment statement is executed.
• If type1 is a lower accuracy type than type2, then:
The assignment statement is not allowed.
You must use an casting operator to make the assignment statement valid.