Numerical Data - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

Numerical Data

Description:

So far, our programs have used only String data. It is common to use computers for ... sqrt, abs, round. sin, cos, asin, ... Math has the constant Math.PI in it ... – PowerPoint PPT presentation

Number of Views:48
Avg rating:3.0/5.0
Slides: 30
Provided by: amyh99
Learn more at: http://cs.boisestate.edu
Category:
Tags: asin | data | numerical

less

Transcript and Presenter's Notes

Title: Numerical Data


1
Chapter 3
  • Numerical Data

2
Topics
  • Variables
  • Numeric data types
  • Assignment
  • Expressions

3
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

4
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.

5
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.

6
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.

7
Variable Declarations
  • The syntax for declaring variables is
  • ltdata typegt ltvariablesgt
  • where ltvariablesgt is a sequence of identifiers
    separated by commas.
  • Every variable we use in a program must be
    declared.

8
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

9
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

10
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.

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

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

13
Comparison
14
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.

15
Assignment
  • Numeric Data
  • Objects

16
Arithmetic Expressions
Assume x10, y7, z2.5
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
17
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

18
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 ?

19
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
20
Evaluation of Expressions
  • Subexpression evaluation
  • x 3 y

21
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

22
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

23
Rules for arithmetic promotion
  • Unary Operators
  • byte and short operands are converted to int
  • Binary Operators
  • If either operand has type double, the other will
    be converted to a double
  • Otherwise, if either operand has type float, the
    other will be converted to a float
  • Otherwise, if either operand has type long, the
    other will be converted to a long
  • Otherwise, both operands are converted to int
    will be converted to an int

24
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

25
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

26
Scientific Notation
  • Numbers in scientific notation, such as
  • Number x 10exponent
  • are expressed in Java using the syntax
  • ltnumbergt E ltexponentgt
  • 12.40e209
  • 29.009E-102

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

28
Getting Numerical Input Values
  • radiusStr
  • JOptionPane.showInputDialog(null,
  • "Enter radius")
  • radius Double.parseDouble(radiusStr)

29
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
Write a Comment
User Comments (0)
About PowerShow.com