29
Chapter 3 Numerical Data

Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

  • View
    249

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Chapter 3

Numerical Data

Page 2: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Topics

• Variables

• Numeric data types

• Assignment

• Expressions

Page 3: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Numeric Data and Operations

• So far, our programs have used only String data

• It is common to use computers for numeric calculations

• We can write literal numbers into our programs - just write the number

• We need a way to store numeric data - variables

Page 4: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Variables

• In mathematical expressions, we often use x and y to represent unknown values and to make a placeholder for many different values– y = x2 + 5

• A variable is used in a similar way in a program– A variables has a Java identifier for a name.

Page 5: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Variables

• In the last chapter, we declared variables whose location stored the address of an object

• Now we need to learn to declare variables to store numeric data.

• A declaration sets aside memory locations to store data values. – These memory locations are called variables, and x and y are the names we associate with the memory locations.

• As before, we need to say what kind of data the variable represents.

Page 6: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Variables

• A variable has three properties:– A memory location to store the value.

– The type of data stored in the memory location.

– The name used to refer to the memory location.

Page 7: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Variable Declarations

• The syntax for declaring variables is<data type> <variables>;

• where <variables> is a sequence of identifiers separated by commas.

• Every variable we use in a program must be declared.

Page 8: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Numeric Types

• There are six numeric data types in Java:– We nee to be able to use two basic kinds of numbers.– We have several types for each kind of number to allow for different ranges

of values.

• Integers have discrete values (whole numbers).– byte– short– int– long

• Real numbers are needed for values that have fractional parts.

– float– double

Page 9: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Assignment

• First we need to declare a variable.int a;

• We assign a value to a variable by using an assignment statement.a = 5;

• At the time a variable is declared, it can also be initialized.

int count = 10, height = 34;• Do not confuse mathematical equality and

assignment. The following is not valid Java code:• 4 + 5 = x;

Page 10: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Varaibles for Objects and Numbers

• The only difference between a variable for numbers and a variable for objects is the contents in the memory locations. – For numbers, a variable contains the numeric value

itself.

– For objects, a variable contains an address where the object is stored.

Page 11: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Memory diagram for numeric data

• For numeric data, the actual value is stored in the memory location associated with the variable

Page 12: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Object Variables

• For objects, the location (memory address) for the object is stored in the memory location associated with the variable

Page 13: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Comparison

Page 14: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Variables

• We use the new command to create an object.– Objects are called reference data types, because

the contents are addresses that refer to memory locations where the objects are actually stored.

• Numerical data are called primitive data types.– We don't need to use new with primitive types.– You do have to give the primitive variable a

value.

Page 15: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Assignment

• Numeric Data • Objects

Page 16: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Arithmetic Expressions

Operation Operator Expression Result

Addition + x + y 17

Subtraction - y - z 4.5

Multiplication * x * y 70

Division / y / x 0.7

Modulo (remainder)

% x % y 3

Assume x=10, y=7, z=2.5

Page 17: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Division and Modulo

• Division works differently for integer and floating point types– for floating point types you get a floating point result

(what your calculator would give you)

– for integers, you get an integer result

– integer division and modulo together are what you first learned when you learned division in grade school

• 27 divided by 6 is 4 with a remainder of 3

• so 27 / 6 gives a result of 4

• and 27 % 6 gives a result of 3

Page 18: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Evaluation order

• In an expression with more than one binary operator, we need rules to tell us what order to do them in– What is 5 + x * 16 / y + 5 ?

• Precedence rules tell us which of two different operations should get done first– What is 5 + 4 * 3 ?

• Associativity rules tell us which order operations of the same type get done in– What is 16 / 2 / 2 ?

Page 19: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Precedence rules

• for arithmetic operators and parentheses

Order Group Operator Rule

first Subexpression () innermost first left to right

Unary operation +, - single operand

multiplicative operators

*, /, % left to right

last additive operators

+, - left to right

Page 20: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Evaluation of Expressions

• Subexpression evaluation x + 3 * y

Page 21: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Mixed-mode Arithmetic

• What happens when the operands in your expression have different types?– x = 3.45 / 2

• The hardware supports only single-type operations• The value of a variable has to be stored in the

appropriate format.• Type conversions are used to convert mixed-type

expressions to single type expressions

Page 22: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Type Conversions

• Widening conversions happen automatically– promote a value from one type into another which can

represent a larger range of values • converting an int to a double

• Narrowing conversions have to be programmed explicitly– information will be lost

• converting a double to an int

– cast operator is the name of the type of the result enclosed in parentheses

– (int)2.34– fractional part will be truncated

Page 23: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Rules for arithmetic promotion

• Unary Operators1. byte and short operands are converted to int

• Binary Operators1. If either operand has type double, the other will be

converted to a double2. Otherwise, if either operand has type float, the other

will be converted to a float3. Otherwise, if either operand has type long, the other

will be converted to a long4. Otherwise, both operands are converted to int will be

converted to an int

Page 24: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Constants

• If we want a variable to remain fixed, we use a constant.

• A constant is declared in a manner similar to a variable, but with the additional reserved word final.

• final double PI = 3.14159;

• final int MONTHS_IN_YEAR = 12;

Page 25: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Literal Constants

• If a literal constant contains a decimal point, it is of type double by default.

• To designate a literal constant of type float, append a letter f or F to the number:

• 2 * PI * 345.79F

Page 26: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Scientific Notation

• Numbers in scientific notation, such as • Number x 10exponent

• are expressed in Java using the syntax• <number> E <exponent>

• 12.40e+209• 29.009E-102

Page 27: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Getting Numerical Input Values

• Wrapper classes are used to perform necessary type conversions, such as converting a String object to a numerical value.

Page 28: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

Getting Numerical Input Values

radiusStr = JOptionPane.showInputDialog(null,

"Enter radius:");

radius = Double.parseDouble(radiusStr);

Page 29: Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions

The Math Class

• The Math class in the java.lang package contains class methods for commonly used mathematical functions.

• Some methods available in the Math class:– sqrt, abs, round– sin, cos, asin, …

• Math has the constant Math.PI in it