Storing and manipulation Floating point information Recall (1) • Although the computer stores binary numbers, we can interpret then as decimal number through a conversion operation: Recall (2) • The computer can combine adjacent bytes in the RAM memory to form larger memory cells: Variables (in general) • A variable in a computer program is in fact a memory cell • A variable in a computer program stores a number • The tag represents the data type of the variable (cannot be changed) • You can only write one (binary) number on the piece of paper. • You can erase the number and write a new number on the paper; Floating point numbers • A floating point number is a number where the number of decimal digits before and after the decimal point is not fixed (i.e., the decimal point "floats") Floating Variable (1) • A floating point variable behaves like a piece of paper where you can record (exactly) one floating point number: Floating Variable (2) • encoding method used is called the IEEE 754 Standard • Floating point numbers can also be written in the exponent form: Floating Variable (3) • There are 2 kinds of floating point variables in Java • A double precision floating point variable is a variable that uses 8 consecutive bytes of memory as a single 64 bit memory cell • This kind of variable is commonly used in scientific computations. Defining Floating Point Variable (1) • Every variable in Java must be defined, and you must use the correct syntax construct to write a variable definition • The keyword double announces the variable definition clause • The NameOfVariable is an identifier which is the name of the variable. • The variable definition clause is must be ended with a semicolon ";" Defining Floating Point Variable (2) • The effect of the definition: • The computer will find 8 consecutive bytes of RAM memory that is unused • The computer will then reserve these memory bytes • It also associate the name x with the (8 bytes of) reserved memory Update the value stored in a variable (1) • The assignment statement in the Java programming language instructs the computer to update the value stored in a variable • The symbol "=" is called the assignment operator in Java • The variable on left-hand-side of the "=" operator is the receiving variable • The expression on right-hand-side of the "=" operator is the value that is assigned to the receiving variable • This statement must be ended with a semi-colon ";" Update the value stored in a variable (2) • The assignment statement x=0.31415e1 will store the value 3.1415 into the memory cell identified by the name x: Update the value stored in a variable (3) • System.out.println(x) will read the value stored at the memory cell identified by the name x and print it to the terminal: Defining multiple variables of the same type • You can also define multiple variables of the same type with one clauses by separating the different variable names with a comma. Floating point operators • Floating point operators are arithmetic operators that manipulate floating point values Priority of the floating point arithmetic operators Java Library Mathematical functions (1) • Scientific calculations often involve Mathematical functions, such as sin, cos, tan, log, and so on. • Examples: sin and ln functions on a calculator Mathematical functions (2) • Programming languages allow you to embed Mathematical functions within a arithmetic expression. Class and Method • Method = a collection of statements that performs a complex (useful) task • Class = a container for methods Organization of the Java library (1) • To find "things" more easily, humans usually organize (= group) the "things" in a hierarchical manner Organization of the Java library (2) • Each class inside the Java library has a unique class path name in the form: java.PackageName.ClassName Using classes in the Java library (1) • One way is : use the class path • we can refer to the sin() method stored in the Math class (inside the package lang) as: Using classes in the Java library (2) • The other way is: • first import the class (with an import clause) Input parameters and output values of a method (1) • Consider a Mathematical function: • A Mathematical function has a unique name • A Mathematical function has a number of function arguments (x, y and z). (Input) • A Mathematical function will produce an answer. (Output) Input parameters and output values of a method (2) • A method resembles a Mathematical function: • A method has a unique "signature" (will learn more about "signatures" later in the course) • A method has a number of input parameters • A method may return one output value (some methods do not return any output values) • you must store the return value in some variable (using an assignment statement) or else, the returned value will be lost ! How to invoke a method (1) 1. Syntax to invoke a method that does not return any value: You can recognize such methods by the return type void. How to invoke a method (2) 2. Syntax to invoke a method that returns a value: You can recognize such methods by their return type which is not equal to void. Meaning of the method header: • Parameters: You must pass the correct number of parameter of the correct data type to a method • Return: If the method returns a value, you must assign it to a variable of the correct type What happens when a method is invoked (1) • The following figure shows the situation just before the program executes b = Math.sqrt(a);: What happens when a method is invoked (2) • Pass the value of the variable a as parameter to the sqrt method: What happens when a method is invoked (3) • Execute the statements in the method body of sqrt: What happens when a method is invoked (4) • When it completes, the execution returns to the location of the method call • The return value replaces the method call in the expression: What happens when a method is invoked (5) • After the assigning the value to variable b, we have: