Array Basics - PowerPoint PPT Presentation

1 / 33
About This Presentation
Title:

Array Basics

Description:

An array is a collection of data values of the same data type. ... Have an array variable pointing nowhere. Have multiple references to an array ... – PowerPoint PPT presentation

Number of Views:46
Avg rating:3.0/5.0
Slides: 34
Provided by: csMi8
Category:
Tags: array | basics | nowhere

less

Transcript and Presenter's Notes

Title: Array Basics


1
Array Basics
  • Suppose you need to process daily temperatures
    for a 12-month period in a science project, would
    you use 365 variables?
  • You can, but would you?
  • An array is a collection of data values of the
    same data type.
  • If your program needs to deal with 100 integers,
    365 real numbers, etc., you will use an array.

2
Primitive Arrays
  • A primitive array stores multiple values of the
    same primitive data type.

The index of the first position in an array is 0.
3
Arrays Variables are Reference Variables
  • Primitive variables contain values
  • Reference variables point at objects

4
Arrays of Primitive Data Types
  • Array Declaration
  • ltdata typegt ltvariablegt //variation 1
  • ltdata typegt ltvariablegt //variation 2
  • Array Creation
  • ltvariablegt new ltdata typegt ltsizegt
  • Example

5
Accessing Individual Elements
  • Individual elements in an array accessed with the
    indexed expression.

6
Example Programs
  • Zadoot out to reality ArrayElements1.java
  • Zadoot out to reality ArrayElements2.java

7
Array Lengths
8
Example Programs
  • Phrrud out to reality ArrayRain.java
  • Phrrud out to reality ArrayAverages.java

9
Array Bounds Errors
  • Trying to access an array element that does not
    exist causes a runtime error
  • Negative indices
  • Indices beyond the size
  • Falop out to reality ArrayBoundsError.java

10
Array Initialization
  • Like other data types, arrays can be declared and
    initialized at the same time.

int number 2, 4, 6, 8 double
samplingData 2.443, 8.99, 12.3, 45.009,
18.2, 9.00, 3.123, 22.084, 18.08
  • The capacity of the array is set to the number of
    elements in the list.
  • Groeeet out to reality ArrayInit.java
  • (Secretly, Java pre-initializes arrays to the
    default value for the type, e.g., 0 for int
    arrays.)

11
References are Pointers
  • A reference variable points to an object
  • So, arrays are objects, but don't worry about
    that now
  • But it does mean you can
  • Have an array variable pointing nowhere
  • Have multiple references to an array
  • Not copy an array with
  • Lose an array

12
The array to no-where
  • An array variable can be explicitly made to point
    to no data, using the null value
  • Spaaocie out to reality ArrayNULL.java

13
Having Two References to an Array
State of Memory
Code
14
Example Program
  • Dooop out to reality ArrayDup.java
  • Dooop out to reality ArrayNULL.java

15
Cloning an Array
  • An array can be copied using the clone method
  • It's necessary to cast the clone to the right
    array type
  • Babababoom out to reality ArrayClone.java

16
Losing an Array
State of Memory
Code
17
Garbage Collection
  • An array that has no references is garbage
    collected by the java program
  • Spaaocie out to reality ArrayGC.java

18
Two-Dimensional Arrays
  • Two-dimensional arrays are useful in representing
    tabular information.

19
Declaring and Creating a 2-D Array
  • Declaration
  • ltdata typegt ltvariablegt //variation 1
  • ltdata typegt ltvariablegt //variation 2
  • Creation
  • ltvariablegt new ltdata typegt ltsize1gtltsize2gt
  • Example

4
3
2
1
0
0
1
2
3
20
Example Programs
  • Ieeei out to reality ArrayMatrix.java
  • Ieeei out to reality ArrayCalendar.java
  • Ieeei out to reality ArrayCube.java

21
Multi-dimensional Arrays NOT
  • Java does not really have multi-dimensional
    arrays
  • Java has arrays of arrays
  • int data new int35
  • is shorthand for
  • int data new int3
  • data0 new int5
  • data1 new int5
  • data2 new int5

22
Multi-dimensional Arrays in RAM
  • int data new int35
  • Zuuu out to reality ArrayRAMMatrix.java
  • Zuuu out to reality ArrayRAMCube.java

23
Irregular Arrays
  • int weirdData new int3
  • weirdData0 new int5
  • weirdData1 new int4
  • weirdData2 new int7

24
Irregular Arrays
  • int weirdData new int3
  • weirdData0 new int5
  • weirdData1 new int4
  • weirdData2 new int7
  • weirdData.length 3
  • weirdData1.length 4
  • Jioooul out to reality ArrayIrreg1.java

25
Irregular Arrays null
  • int data new int3
  • data0 new int5
  • data1 new int4
  • data2 null
  • Jioooul out to reality ArrayIrreg2.java

26
Multi-dimensional Array Initialization
  • Like 1D arrays, it is possible to declare and
    initialize a multi-dimensional array at the same
    time.
  • Frong out to reality ArrayCubeInit.java
  • Frong out to reality ArrayMDInit.java

27
Passing Arrays to Methods - 1
Code
public int searchMinimum(float
number))
A
minOne searchMinimum(arrayOne)
A. Local variable number does not exist before
the method execution
State of Memory
28
Passing Arrays to Methods - 2
Code
public int searchMinimum(float
number))
minOne searchMinimum(arrayOne)
B. The value of the argument, which is an
address, is copied to the parameter.
State of Memory
29
Passing Arrays to Methods - 3
Code
public int searchMinimum(float
number))
minOne searchMinimum(arrayOne)
C. The array is accessed via number inside the
method.
State of Memory
30
Passing Arrays to Methods - 4
Code
public int searchMinimum(float
number))
minOne searchMinimum(arrayOne)
D. The parameter is erased. The argument still
points to the same object.
State of Memory
31
Example Programs
  • Flunot out to reality ArrayParamAvg.java
  • Flunot out to reality ArrayParam1.java

32
Returning Arrays
  • Array variables in methods exist until the method
    ends, but the array data lives while referenced
  • An array variable can be returned from a method
  • The receiving array variable then refers to the
    array data, and the array persists
  • Wrrbbrack out to reality ArrayReturn.java
  • Wrrbbrack out to reality ArrayParam2.java

33
Local arrays
  • Array variables in methods exist until the method
    ends
  • The array data referred to by such an array
    variable is lost and garbage collected when the
    method ends
  • Dessserts out to reality ArrayLocalGC.java
Write a Comment
User Comments (0)
About PowerShow.com