ITM 172 - PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

ITM 172

Description:

For example, an int cell, a float cell, and a double cell are data structures. ... A reference variable is a variable that contains the address of a data structure. ... – PowerPoint PPT presentation

Number of Views:25
Avg rating:3.0/5.0
Slides: 36
Provided by: unkn660
Category:

less

Transcript and Presenter's Notes

Title: ITM 172


1
ITM 172
  • Java Programming
  • Chapter 5
  • Arrays Part A

2
What is an array?
  • An array is a data structure. A data structure is
    a space that can be reserved in memory for
    storing one or more values. For example, an int
    cell, a float cell, and a double cell are data
    structures.
  • To instruct the computer to setup or allocate
    space for a data structure (such as an int,
    float, or char cell), programmers write
    declaration statements (e.g. int x).
  • Programmers can also declare arrays. An array is
    a data structure that contains multiple int,
    float, or double cells.
  • For example, if your program needed to store 10
    different integer values, you can declare an
    integer array of size 10.

3
Reference variables
  • A reference variable is a variable that contains
    the address of a data structure.
  • In Java, when we declare an array, we also
    declare a reference variable and assign the
    starting address of the array to the reference
    variable.

4
Declaring an array
  • The following declaration statement declares a
    variable of type reference-to-integer-array
  • int myGrades // creates a reference variable
  • By itself, this statement is insufficient because
    it declares a reference variable that doesnt
    reference anything (yet).
  • The following declaration statement (1) allocates
    space in memory for an array of 7 integer cells
    and (2) creates (declares) a variable of type
    reference-to-integer-array and (3) assigns the
    starting address of the array to the reference
    variable.
  • int myGrades new int7

5
int myGrades new int7
myGrades is a variable who contains the address
of a data structure (the array). myGrades is
setup in the programs (local) memory space the
array is actually allocated memory on the heap.
myGrades
00000001
The array
00000001 00000010 00000011 00000100
00000101 00000110 00000111
6
The size of the array
  • In the previous example, the size of the array is
    7.
  • The size must be specified when the array is
    declared.
  • The size must be a constant not a variable.
  • The size cant change during program execution
    the programmer must commit to a size at the
    beginning of the program.

7
Referring to the elements of the array
myGrades
myGrades0 myGrades1 myGrades2 myGrades3 my
Grades4 myGrades5 myGrades6
of array
Use the index (the number in the square brackets)
to refer to the individual array elements. The
first element is always 0 the last element is
(length 1).
8
Declaring an array with initialization
  • We already learned to declare an array (actually
    an array reference) and allocate space in memory
    for the array as follows
  • int myGrades new int7
  • But if you are going to assign initial values to
    the array when you declare it, you can do this
  • int myGrades 89, 87, 90, 93, 83 or
  • int myGrades new int 89, 87, 90, 93,
    83

You dont have to specify size if providing
initial values because the compiler can count.
9
An array is actually an object
  • When you declare an array, you are actually
    creating an object (an instance) of class Array.
  • Any object of class Array has a data attribute
    named length which contains the size of the
    array. Therefore, once you declare an array
    (myGrades), you can refer to the size as
    myGrades.length.

10
Example 5.X InputtingArray(not in text)
  • This program declares an array of size 5 integers
    and prompts the user for 5 values to store in the
    5 integer cells.

11
(No Transcript)
12
(No Transcript)
13
Not in text
14
Example 5.1 TestArray
  • This program declares an integer array of size 6.
  • It prompts the user for the six values.
  • It finds the maximum value entered.
  • It finds the number of times the maximum occurs.
  • It displays the maximum and the frequency that
    maximum occurred.

15
(No Transcript)
16
(No Transcript)
17
Page 185-6
18
Lab 5.2 AssignGrade
  • This program prompts the user for a number of
    students and then creates an integer array whose
    length the number of students.
  • Then it prompts the user for numeric grades and
    converts them to letter grades.
  • The teacher is grading on a curve. To determine a
    students letter grade, if the numeric grade is
    within 10 of the highest grade, you get an A,
    if the numeric grade is within 20 of the highest
    grade, you get a B, within 30 for a C, within
    40 for a D.

19
(No Transcript)
20
(No Transcript)
21
(No Transcript)
22
Page 187-189
23
Homework J3
  • 5.1 on page 226
  • (Prompts the user for 10 integer values, stores
    them in an array, and then display array elements
    in reverse order).

24
Passing Arrays to Methods
  • Whole arrays and individual elements of arrays
    can be passed to methods as arguments.
  • If you pass an individual element of an array to
    a method, its like passing any other individual
    int or float value A copy of the value is passed
    to the method. (If int x5 and x is passed to a
    method, that means that it is actually a copy of
    5 that is being passed to the method.)
  • If you pass a whole array to a method, youre
    actually passing the address of the array, not a
    copy of the values stored in the array.

25
Call by value vs. call by reference
  • When individual values are passed to methods, we
    call that call by value
  • max(x, y) // x and y are individual int
    cells
  • When a reference variable to an object is passed
    to a method, we call that call by reference
  • max (a) // a is a reference to an int array

26
Lab 5.3 TestPassArray
  • The following program demonstrates both call by
    value and call by reference.
  • It declares an array of size 2 int. First it
    passes the two individual int values to a method
    swap( ). Then it passes the entire array to a
    method swapFirstTwoInArray( ).
  • In the first case, swapping values in the swap( )
    method has no effect on the values in the array
    in the second case, swapping values in the
    swapFirstTwoInArray( ) method does swap the
    values in the array.

27
Page 190-1
28
(No Transcript)
29
Lab 5.4 Deviation
  • This program declares and initializes an array,
    finds the mean and standard deviation of the
    array values, and prints the array values.
  • It contains two versions of the deviation( )
    method and two versions of the mean( ) method
    one for double-valued arrays and one for
    int-valued arrays, and a print( ) method.

30
(No Transcript)
31
Page 195-196
32
Additional Practice
  • 5.4 on page 226
  • Write a method that returns an array that is a
    reversal of the original array

33
Homework J4
  • Write a program that creates an array of size 10
    integers, prompts the user for the 10 values and
    then calls the following three methods
  • findAverage( ) calculates and displays the
    average value in the array.
  • findMinimum( ) seeks and displays the mininum
    value in the array.
  • printArray( ) prints the entire array.
  • (See next slides for sample of input and output.)

34
The program should prompt the user for 10 numbers
(one at a time)
35
The program should display the following output
Write a Comment
User Comments (0)
About PowerShow.com