bcs.solano.edu

bcs.solano.edu

Chapter 8: Arrays Objectives Declare arrays Initialize an array Use variable subscripts with an array

Declare and use arrays of objects Search an array and use parallel arrays Pass arrays to and return arrays from methods Java Programming, Seventh Edition 2 Declaring Arrays Array A named list of data items All data items have the same type

Declare an array variable The same way as declaring any simple variable Insert a pair of square brackets after the type double[] salesFigure; int[] idNums; Java Programming, Seventh Edition 3 Declaring Arrays (contd.) Still need to reserve memory space sale = new double[20];

double[] sale = new double[20]; Subscript An integer contained within square brackets Indicates one of the arrays variables or elements A subscript that is too small or too large for an array is out of bounds An error message is generated Java Programming, Seventh Edition 4

Declaring Arrays (contd.) An arrays elements are numbered beginning with 0 You can legally use any subscript from 0 through 19 when working with an array that has 20 elements When working with any individual array element, treat it no differently than a single variable of the same type Example: sale[0] = 2100.00; Java Programming, Seventh Edition 5

Declaring Arrays (contd.) Figure 8-1 The first few and last few elements of an array of 20 salesFigures items in memory Java Programming, Seventh Edition 6 Initializing an Array A variable with a reference type, such as an array, holds a memory address where a value is stored Array names:

Represent computer memory addresses Contain references When you declare an array name: No computer memory address is assigned The array has the special value null Unicode value \u0000 Java Programming, Seventh Edition 7 Initializing an Array (contd.)

Use the keyword new to define an array The array name acquires the actual memory address value int[] someNums = new int[10]; Each element of someNums has a value of 0 char array elements Assigned \u0000 boolean array elements Automatically assigned the value false Strings and arrays of objects

Assigned null by default Java Programming, Seventh Edition 8 Initializing an Array (contd.) Assign nondefault values to array elements upon creation int[] tenMult = {10, 20, 30, 40, 50, 60}; An initialization list initializes an array Values are separated by commas and enclosed within curly

braces Populating an array Providing values for all the elements in an array Java Programming, Seventh Edition 9 Using Variable Subscripts with an Array Scalar A primitive variable

Power of arrays Use subscripts that are variables rather than constant subscripts Use a loop to perform array operations for (sub = 0; sub < 5; ++sub) scoreArray[sub] += 3; Java Programming, Seventh Edition 10 Using Variable Subscripts with an

Array (contd.) When an application contains an array: Use every element of the array in some task Perform loops that vary the loop control variable Start at 0 End at one less than the size of the array It is convenient to declare a symbolic constant equal to the size of the array final int NUMBER_OF_SCORES = 5; Java Programming, Seventh Edition

11 Using Variable Subscripts with an Array (contd.) Field An instance variable Automatically assigned a value for every array created length field Contains the number of elements in the array for(sub = 0; sub < scoreArray.length; ++sub) scoreArray[sub] += 3;

length is a property of the object Is a field Cannot be used as an array method Java Programming, Seventh Edition 12 Using Variable Subscripts with an Array (contd.) Enhanced for loop Allows you to cycle through an array without specifying starting and ending points for the loop control variable

for(int val : scoreArray) System.out.println(val); Java Programming, Seventh Edition 13 Using Part of an Array In cases when you do not want to use every value in an array

Java Programming, Seventh Edition Figure 8-4 The FlexibleQuizAverage application 14 Declaring and Using Arrays of Objects Create an array of Employee objects Employee[] emp = new Employee[7]; Must call seven individual constructors final double PAYRATE = 6.35; for(int x = 0; x < NUM_EMPLOYEES; ++x)

emp[x] = new Employee(101 + x, PAYRATE); Java Programming, Seventh Edition 15 Using the Enhanced for Loop with Objects Use the enhanced for loop to cycle through an array of objects Eliminates the need to use a limiting value Eliminates the need for a subscript following each element

for(Employee worker : emp) System.out.println(worker.getEmpNum() + " " + worker.getSalary(); Java Programming, Seventh Edition 16 Manipulating Arrays of Strings Create an array of Strings String[] deptNames = {"Accounting", "Human Resources", "Sales"}; for(int a = 0; a < deptNames.length; +

+a) System.out.println(deptNames[a]); Java Programming, Seventh Edition 17 Searching an Array and Using Parallel Arrays Determine whether a variable holds one of many valid values Use a series of if statements Compare the variable to a series of valid values

Java Programming, Seventh Edition 18 Searching an Array and Using Parallel Arrays (contd.) Searching an array Compare the variable to a list of values in an array for(int x = 0; x < validValues.length; ++x) { if(itemOrdered == validValues[x])

validItem = true; } Java Programming, Seventh Edition 19 Using Parallel Arrays Parallel array One with the same number of elements as another The values in corresponding elements are related An alternative for searching

Use the while loop Java Programming, Seventh Edition 20 Using Parallel Arrays (contd.) Figure 8-9 The FindPrice application that accesses information in parallel arrays Java Programming, Seventh Edition 21

Using Parallel Arrays (contd.) Figure 8-11 A for loop with an early exit Java Programming, Seventh Edition 22 Searching an Array for a Range Match Searching an array for an exact match is not always practical Range match

Compare a value to the endpoints of numerical ranges Find the category in which a value belongs Java Programming, Seventh Edition 23 Figure 8-13 The FindDiscount class Java Programming, Seventh Edition 24 Passing Arrays to and Returning

Arrays from Methods Pass a single array element to a method Same as passing a variable Passed by value A copy of the value is made and used in the receiving method All primitive types are passed this way Java Programming, Seventh Edition 25

Passing Arrays to and Returning Arrays from Methods (contd.) Reference types The object holds a memory address where the values are stored The receiving method gets a copy of the arrays actual memory address The receiving method has the ability to alter the original values in array elements Java Programming, Seventh Edition 26

Figure 8-16 The PassArrayElement class Java Programming, Seventh Edition 27 Returning an Array from a Method A method can return an array reference Include square brackets with the return type in the method header Java Programming, Seventh Edition

28 You Do It Declaring an Array Initializing an Array Using a for Loop to Access Array Elements

Creating a Class That Contains an Array of Strings Searching an Array Passing an Array to a Method Java Programming, Seventh Edition 29 Dont Do It Dont forget that the lowest array subscript is 0 Dont forget that the highest array subscript is one less than the length Dont forget the semicolon following the closing curly

brace in an array initialization list Dont forget that length is an array property and not a method Dont place a subscript after an objects field or method name when accessing an array of objects Java Programming, Seventh Edition 30 Dont Do It (contd.) Dont assume that an array of characters is a string Dont forget that array names are references Dont use brackets with an array name when you

pass it to a method Java Programming, Seventh Edition 31 Summary Array A named list of data items All have the same type Array names Represent computer memory addresses

Shorten many array-based tasks Use a variable as a subscript length field Contains the number of elements in an array Java Programming, Seventh Edition 32 Summary (contd.) You can declare arrays that hold elements of any type, including Strings and other objects

Search an array to find a match to a value Perform a range match Pass a single array element to a method Java Programming, Seventh Edition 33

Recently Viewed Presentations

  • Elemental Design Patterns

    Elemental Design Patterns

    Abstract Data Types (ADT) One ADT definition . will be correct for . Many implementations. Define the behavior once, then. it guides implementation . it provides an oracle for determining correctness of the code. ... sequence of push on a...
  • Point in Time count 2011 - cacfayettecounty.org

    Point in Time count 2011 - cacfayettecounty.org

    Tim Horton's. Ursula Williams. Fayette County Transportation. Sugar Grove United Methodist Church. Dominos. Donatos. Rancher's. ... Transitional Housing Unsheltered 25 35 31. Percentage by Family Type. Family Status Single Adults Two Parent Family Couples w/o Children Single Parent Families ...
  • General

    General

    Some Trivial Codes Caesar cipher Substitution cipher Replace each letter with the one 3 letters later A D, B E Captain Midnight Secret Decoder Rings: shift variable by n: IBM HAL only 26 possibilities Some Trivial Codes (Cont'd) Mono-alphabetic cipher:...
  • The Characteristics of Argument - Tamaqua Area School ...

    The Characteristics of Argument - Tamaqua Area School ...

    THE CHARACTERISTICS OF ARGUMENT Things to think about when writing your persuasive essay. AN ARGUMENT MAKES A POINT Use sound reasons and relevant evidence to support a point. Listing random facts about a topic is useless unless it is supporting...
  • I. History of Chess B. Shaturanga  Invented around

    I. History of Chess B. Shaturanga Invented around

    I. History of Chess. B. Shaturanga. Invented around A.D. 600 in northern India. Infantry - 4 pawns. Boatmen - a ship which could move 2 squares diagonally but could jump over intervening pieces. ... PowerPoint Presentation - I. History of...
  • SLT CENTER d.o.o. What is SLT CENTER?  It

    SLT CENTER d.o.o. What is SLT CENTER? It

    SLT CENTER d.o.o. * SLT CENTER d.o.o. Organization SLT CENTER d.o.o. * lighters and tobacco accessories 23% toys 10% technical consumer goods 39% textiles 20% office supplies 8% Wholesale - product groups - revenue share (2015) SLT CENTER d.o.o. *...
  • Earth Moon Sun System - birdvilleschools.net

    Earth Moon Sun System - birdvilleschools.net

    Results in diurnal motion (the daily rising and setting of things in the sky.). Period of rotation can be measured in two ways:-Solar Day: relative to the Sun, when the Sun returns to its original position in the sky (when...
  • States of Consciousness Different States of Consciousness Normal

    States of Consciousness Different States of Consciousness Normal

    Infradian- longer cycles, menstrual cycle (28 days), animal hibernation, red blood cells last 120 days, developmental cycles: childhood, puberty, aging. The Body's Clock. Special receptors in the _____ and the hypothalamus allow the body to respond to changes in light...