View
214
Download
0
Tags:
Embed Size (px)
Citation preview
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
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