Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Chapter 9 Arrays Java Programming from Thomson Course Tech, adopted by kcluk.

Similar presentations


Presentation on theme: "1 Chapter 9 Arrays Java Programming from Thomson Course Tech, adopted by kcluk."— Presentation transcript:

1 1 Chapter 9 Arrays Java Programming from Thomson Course Tech, adopted by kcluk

2 2 Array Definition: structured data type with a fixed number of components Every component is of the same type Components are accessed using their relative positions in the array

3 3 One-Dimensional Arrays Syntax to instantiate an array: –dataType[ ] arrayName; //declare the array name arrayName = new dataType[intExp]; //create the obj –dataType[ ] arrayName = new dataType[intExp]; //both together –dataType[ ] arrayName1, arrayName2; //declare different arrays Syntax to access an array component: –arrayName[indexExp] intExp = number of components in array >= 0 0 <= indexExp <=intExp

4 4 Array num: int[] num = new int[5];

5 5 Array list

6 6 Arrays Not necessary to know array size at compile time arrayName.length returns the number of components(size) in array Loops used to step through elements in array and perform operations

7 7 Arrays Some operations on arrays: –Initialize –Input data –Output stored data –Find largest/smallest/sum/average of elements

8 8 How To Specify Array Size During Program Execution int arraySize; //Line 1 System.out.print("Enter the size of the array: "); //Line 2 arraySize = Integer.parseInt(keyboard.readLine()); //Line 3 System.out.println(); //Line 4 int[] list = new int[arraySize]; //Line 5

9 9 Instance Variable length Contains size of array public member Can be directly accessed in program using array name and dot operator Example –If: int[] list = {10, 20, 30, 40, 50, 60};// as a public member –Then: list.length is 6

10 10 Code to Initialize Array to Specific Value (10.00) for(index = 0; index < sale.length; index++) sale[index] = 10.00;

11 11 Code to Read Data into Array for(index = 0; index < sale.length; index++) sale[index] = Integer.parseInt(keyboard.readLine());

12 12 Code to Print Array for(index = 0; index < sale.length; index++) System.out.print(sale[index] + " ");

13 13 Code to Find Sum and Average of Array sum = 0; for(index = 0; index < sale.length; index++) sum = sum + sale[index]; if(sale.length != 0) average = sum / sale.length; else average = 0.0;

14 14 Determining Largest Element in Array maxIndex = 0; for(index = 1; index < sale.length; index++) if(sale[maxIndex] < sale[index]) maxIndex = index; largestSale = sale[maxIndex];

15 15 Determining Largest Element in Array

16 16 Array Index Out of Bounds Array in bounds if: 0 <= index <= arraySize – 1 If index arraySize: ArrayIndexOutOfBoundsException exception is thrown Base address: memory location of first component in array

17 17 The Assignment Operator, the Relational Operator, and Arrays

18 18 The Assignment Operator, the Relational Operator, and Arrays

19 19 Parallel Arrays Arrays are parallel if corresponding components hold related information

20 20 Arrays of Objects Can use arrays to manipulate objects Example: create array named array1 with N objects of type T T [ ] array1 = new T[N] Can instantiate array1 as follows: for(int j=0; j <array1.length; j++) array1[j] = new T();

21 21 Arrays of Objects: Clock[] arrivalTimeEmp =new Clock [100];

22 22 Instantiating Array Objects

23 23 Two-Dimensional Arrays Data is sometimes in table form (difficult to represent using one-dimensional array) To declare/instantiate two-dimensional array: dataType[ ][ ] arrayName = new dataType[intExp1][intExp2]; To access a component of a 2-dimensional array: arrayName[indexExp1][indexExp2]; intExp1, intExp2 >= 0 indexExp1 = row position indexExp2 = column position

24 24 Two-Dimensional Arrays Can specify different number of columns for each row (ragged arrays) Three ways to process 2-D arrays –Entire array –Particular row of array (row processing) –Particular column of array (column processing) Processing algorithms similar to processing algorithms of one-dimensional arrays

25 25 double[][]sales = new double[10][5]; Two-Dimensional Arrays

26 26 Accessing Two-Dimensional Array Components

27 27 Two-Dimensional Arrays: Special Cases

28 28 Multidimensional Arrays Can define three-dimensional arrays or n-dimensional array (n can be any number) Syntax to declare and instantiate array: d ataType[ ][ ]…[ ] arrayName = new dataType[intExp1][intExp2]…[intExpn]; Syntax to access component: arrayName[indexExp1][indexExp2]…[indexExpn] intExp1, intExp2,..., intExpn = positive integers indexExp1,indexExp2,..., indexExpn = non-negative integers

29 29 Loops to Process Multidimensional Arrays double[][][] carDealers = new double [10][5][7]; for(i = 0; i < 10; i++) for(j = 0; j < 5; j++) for(k = 0; k < 7; k++) carDealers[i][j][k] = 10.00;

30 30 Programming Example: Text Processing Program: reads given text; outputs the text as is; prints number of lines and number of times each letter appears in text Input: file containing text to be processed Output: file containing text, number of lines, number of times letter appears in text

31 31 Programming Example Solution: Text Processing An array of 26 representing the letters in the alphabet Three methods: –copyText –characterCount –writeTotal Value in appropriate index incremented using methods and depending on character read from text

32 32 Chapter Summary Arrays –Definition –Uses Different Arrays –One-dimensional –Two-dimensional –Multidimensional (n-dimensional) –Arrays of objects –Parallel arrays

33 33 Chapter Summary Declaring arrays Instantiating arrays Processing arrays –Entire array –Row processing –Column processing Common operations and methods performed on arrays Manipulating data in arrays


Download ppt "1 Chapter 9 Arrays Java Programming from Thomson Course Tech, adopted by kcluk."

Similar presentations


Ads by Google