DOC PREVIEW
Penn CIT 591 - Arrays

This preview shows page 1-2-14-15-29-30 out of 30 pages.

Save
View full document
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Arrays Jan 14 2019 A problem with simple variables One variable holds one value The value may change over time but at any given time a variable holds a single value If you want to keep track of many values you need many variables All of these variables need to have names What if you need to keep track of hundreds or thousands of values 2 Multiple values An array lets you associate one name with a fixed but possibly large number of values All values must have the same type The values are distinguished by a numerical index between 0 and array size minus 1 0 9 1 myArra 12 43 y 2 6 3 4 5 6 83 14 57 109 12 7 0 8 6 3 Indexing into arrays To reference a single array element use array name index Indexed elements can be used just like simple variables You can access their values You can modify their values An array index is sometimes called a subscript 0 9 1 myArra 12 43 y myArray 0 2 6 3 4 5 6 83 14 57 109 12 myArray 5 7 8 0 myArray 9 6 4 Using array elements 0 9 1 myArra 12 43 y 2 6 3 4 5 6 83 14 57 109 12 7 0 8 6 Examples x myArray 1 sets x to 43 myArray 4 99 replaces 14 with 99 m 5 y myArray m sets y to 57 z myArray myArray 9 sets z to 109 5 Array values An array may hold any type of value All values in an array must be the same type For example you can have an array of integers ints an array of Strings an array of Person In this case all the elements are Persons but they may belong to different subclasses of Person For example if you have a class Employee extends Person then you can put Employees in your array of Person This is because an Employee is a Person You can even have arrays of arrays for example an array of arrays of int 6 Strings and arrays Strings and arrays both have special syntax Strings are objects and can be used as objects Arrays are objects but Arrays are created using special syntax new type size instead of new Person If an array holds elements of type T then the array s type is array of T 7 Declaration versus definition Arrays are objects Creating arrays is like creating other objects the declaration provides type information and allocates space for a reference to the array when it is created the new definition actually allocates space for the array declaration and definition may be separate or combined Example for ordinary objects Person p declaration p new Person John definition Person p new Person John combined 8 Declaring and defining arrays Example for array objects int myArray declaration This declares myArray to be an array of integers It does not create an array it only provides a place to put an array Notice that the size is not part of the type myArray new int 10 definition new int 10 creates the array The rest is an ordinary assignment statement int myArray new int 10 both 9 Two ways to declare arrays You can declare more than one variable in the same declaration int a b c d notice position of brackets a and c are int arrays b and d are just ints Another syntax int a b c d notice position of brackets a b c and d are int arrays When the brackets come before the first variable they apply to all variables in the list But In Java we typically declare each variable separately 10 Array assignment Array assignment is object assignment Object assignment does not copy values Person p1 Person p2 p1 new Person John p2 p1 p1 and p2 refer to the same person Array assignment does not copy values int a1 int a2 a1 new int 10 a2 a1 a1 and a2 refer to the same array 11 An array s size is not part of its type When you declare an array you declare its type you must not specify its size When you define the array you allocate space you must specify its size Example String names Example names new String 50 This is true even when the two are combined Example String names new String 50 12 Array assignment When you assign an array value to an array variable the types must be compatible The following is not legal double dub new int 10 illegal The following is legal int myArray new int 10 and later in the program myArray new int 500 legal This is legal because the array s size is not part of its type but part of its value 13 Length of an array Arrays are objects Every array has an instance constant length that tells how large the array is Example for int i 0 i scores length i System out println scores i Use of length is always preferred over using a constant such as 10 Arrays have a length variable Strings have a length method 14 Stepping through an array The for loop is ideal for visiting every value in an array The form is for int i 0 i myArray length i Example for int i 0 i students length i System out println students i name In general we like to use meaningful names for variables but in this case the name i is traditional and better i is instantly recognizable as the index of an enclosing for loop Inner nested loops should use j then k then if necessary m then n but not l do you see why You should avoid deeply nested loops three is deep enough It s usually best to declare i right in the for statement itself i means add 1 to i 15 Example of array use I Suppose you want to find the largest value in an array scores of 10 integers int largestScore 0 for int i 0 i 10 i if scores i largestScore largestScore scores i Would this code work if next time you had 12 scores Or 8 scores Do you see an error in the above program 16 Example of array use II To find the largest value in an array scores of possibly negative integers int largestScore scores 0 for int i 1 i scores length i if scores i largestScore largestScore scores i 17 Example of array use III Suppose you want to find the largest value in an array scores and the location in which you found it int largestScore scores 0 int index 0 for int i 1 i scores length i if scores i largestScore largestScore scores i index i 18 Array names The names of array variables should be camelCase Use lowercase for the first word and capitalize only the first letter of each subsequent word that appears in a variable name Array names should usually be plural nouns Example array names scores phoneNumbers preferredCustomers 19 Magic numbers Use names instead of numbers …


View Full Document

Penn CIT 591 - Arrays

Documents in this Course
Stacks

Stacks

11 pages

Arrays

Arrays

29 pages

Applets

Applets

24 pages

Style

Style

33 pages

JUnit

JUnit

23 pages

Java

Java

32 pages

Access

Access

18 pages

Methods

Methods

29 pages

Arrays

Arrays

32 pages

Methods

Methods

9 pages

Methods

Methods

29 pages

Vectors

Vectors

14 pages

Eclipse

Eclipse

23 pages

Vectors

Vectors

14 pages

Recursion

Recursion

24 pages

Animation

Animation

18 pages

Animation

Animation

18 pages

Static

Static

12 pages

Eclipse

Eclipse

23 pages

JAVA

JAVA

24 pages

Arrays

Arrays

29 pages

Animation

Animation

18 pages

Numbers

Numbers

21 pages

JUnit

JUnit

23 pages

Access

Access

18 pages

Applets

Applets

24 pages

Methods

Methods

30 pages

Buttons

Buttons

20 pages

Java

Java

31 pages

Style

Style

28 pages

Style

Style

28 pages

Load more
Loading Unlocking...
Login

Join to view Arrays and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Arrays and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?