Using Javas Math Scanner class Javas Mathematical functions

  • Slides: 22
Download presentation
Using Java's Math & Scanner class

Using Java's Math & Scanner class

Java's Mathematical functions (methods) (1)

Java's Mathematical functions (methods) (1)

Java's Mathematical functions (methods) (2) • Unlike a calculator that always shows the result

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

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

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

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

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. next. Double()" in a double typed variable with an assignment statement

Reading input from the console input (4) • the method call in. next. Double()

Reading input from the console input (4) • the method call in. next. Double() will invoke (run) a method in Java's library. • The task performed by in. next. Double() is to read a floating point number from the keyboard:

Reading input from the console input (5) • The return value will replace the

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

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

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

Different Types of Numerical Information

Recall • Recall that the computer can combine adjacent bytes in the RAM memory

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

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

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

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

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

Very important phenomenon in computer programming: lost of accuracy

Safe and unsafe conversion operations • Safe conversion = a conversion from one representation

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

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

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 type

The general rule for automatic type conversion in the assignment operation • If type 1 is a higher accuracy type than type 2, then: The type 2 value is automatically converted to type 1 before the assignment statement is executed. • If type 1 is a lower accuracy type than type 2, then: The assignment statement is not allowed. You must use an casting operator to make the assignment statement valid.