24
COMP 14 Introduction to Programming Miguel A. Otaduy June 1, 2004

COMP 14 Introduction to Programming Miguel A. Otaduy June 1, 2004

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

COMP 14Introduction to Programming

Miguel A. Otaduy

June 1, 2004

Arrays

• An array is a list of values that can be represented by one variable

• Members of an array must all have the same data type

• Each value is stored at a specific, numbered position in the array– the number corresponding to each position

is called an index or subscript

• All arrays have a length– number of elements the array can hold

0 1 2 3

Declaring Arrays

type[] name;

The array (element) data type Empty square brackets

The array (variable) name

Creates a reference variable called name that can point to an array of type elements.

0 1 2 3

Declaring ArraysExamples

// array of characterschar[] characterSet;

// array of counters (integers)int[] counter;

// array of grades (doubles)double[] grade;

counter

characterSet

grade

0 1 2 3

Instantiating Arrays

You must instantiate (create) arrays– the size of an array is typically not

known before run time

name = new type[size];

The array (element) data type

The new operatorThe array(variable) name

The assignment operator

The number of elements

0 1 2 3

Instantiating ArraysExamples

// instantiate an array of counterscounter = new int[5];

// instantiate the array of gradesnumStudents = 10;grade = new double[numStudents];

counter

01

23

4

0 <= index < size

0 1 2 3

Declaration and Instantiation

type[] name = new type[size];

Declaration Instantiation

0 1 2 3

Example

int[] num = new int[5];

0 1 2 3

Array AccessExamples

averageScore = (score[0]+score[1]+score[2])/3;

numStudents = 3;totalScore = 0;for (int i = 0; i < numStudents; i++) { totalScore += score[i];}averageScore = totalScore/numStudents;

double score[] = new score[3];

score[0] = 98.3;score[1] = 57.8;score[2] = 93.4;

often use loops for access

0 1 2 3

Array Length

Arrays have length– an internal variable called length– number of elements in array– access the length variable using the

“dot’ notation (arrayname.length)

// loop through the array of test scoressumOfScores = 0;for (int i=0; i<scores.length; i++) { sumOfScores += scores[i];}

0 1 2 3

int counter[] = {0, 0, 0, 0, 0};char[] characterSet = {‘a’,’b’,’c’}; // etc.

Initializing Arrays

• Array elements are variables too!– if you don’t initialize, the contents are

undefined

• When and how?– if you don’t yet know the size

• initialize at run time, typically with a loop

– if you know how many elements• perhaps use an initializer list

0 1 2 3

• List the initial value for the elements of an array

• Items are separated by commas and the list is in braces {}

• The size of the array is determined by the number of items in the list

int[] scores = {87, 98, 45};• Can only be used in the same statement as

declaring the array

NOT int[] scores;scores = {87, 98, 45};

Initializer Lists0 1 2 3

Array Bounds

• Arrays have finite size

• If you access an element outside of the array, you’ll get an ArrayIndexOutOfBounds Exception

Example:int grades[] = {99, 98, 95, 96};System.out.println (grades[4]);

0 1 2 3

int arraySize;

System.out.print ("Enter the size of the array:"); arraySize = Integer.parseInt(keyboard.readLine());

int[] list = new int[arraySize];

Specify Array Size During Program Execution

Example0 1 2 3

(Assume that keyboard has already been declared and instantiated.)

Example

for (int ind = 0; ind < sale.length; ind++){ sale[ind] = 10.00;}

Initialize Array to Specific Value (10.00)

(Assume that sale has already been declared and instantiated.)

0 1 2 3

Example

for (int ind = 0; ind < sale.length; ind++){ sale[ind] = Double.parseDouble(keyboard.readLine());}

(Assume that sale has already been declared and instantiated, and that keyboard has already been declared and instantiated.)

Read Data into Array

0 1 2 3

Example

for (int ind = 0; ind < sale.length; ind++){ System.out.print(sale[ind] + " ");}

Print Array

(Assume that sale has already been declared and instantiated.)

0 1 2 3

Parallel Arrays

Arrays are parallel if corresponding components hold related information

String[] studentName;double[] studentGPA;

For example, studentName and studentGPA are parallel if studentGPA[3] is the GPA of the student with studentName[3].

0 1 2 3

In-Class Exercises

1. Declare an array of integers called numbers

2. Declare and instantiate an array of 26 characters called alphabet

0 1 2 3

In-Class Exercises

3. Declare an array of 5 characters called grades and initialize it with the letters: A, B, C, D, FHint: type[] name = {initialization list};

4. Write a loop to print the contents of an array named zipCodesHint: to access array element name[index]

0 1 2 3

In-Class Exercises

5. Write a loop to change all the values of the integer array numbers to index + 1

0 1 2 3

Exercises

1. Find Sum and Average of Array

2. Determine Largest and SmallestElements in Array

0 1 2 3

Homework 6 (practice)

• Read data from file

• Fill arrays with data

• Fill objects with data

Tomorrow

• More Arrays– arrays of objects– passing arrays as parameters– searching and sorting

• Homework 5 due Wednesday midnight

• Homework 6 assigned

• Bring laptops!!!