Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Arrays Chapter 7 "All students to receive arrays!" reports Dr. Austin. Declaring arrays Passing arrays as parameters Inspecting arrays scores : 85 79 92 57 68 80 . . . 0 1 2 3 4 5 98 992 Declaring and Creating Arrays Recall that an array is a collection of elements all of the same type Array objects in Java must be created with the key word new Note the difference in the declaration - the number Syntax of elements is not int c[] = new int [12];specified in the first set of Results: square brackets. 12 integer locations are allocated They are initialized to 0 (null for reference variables, false for boolean) 3 Using Arrays View example Figure 7.2 Note Declaration of the array Allocation of memory with new Initialization of array elements Use of array attribute (length) Printing of array contents 4 The Array Initializer A comma separated list of expressions The initializer list Enclosed in braces View the Example Note again, how the array knows its own length for (int count = 0 ; count < array.length ; count++) . . . 5 Processing Elements of An Array On Average People Are Mean Finding and using the arithmetic mean Declare the array, create Read in values, count how many Declare a summation variable, initialize Sum the array, calculate average Sort the array Print results, accessing the array See sample program 6 Histogram Program Use the value in the array to Print the value Print a string of asterisks for visualization of size of the value View Figure 7.6, 7 Using Array Elements as Counters Recall program which tested random number generator (Figure 6.8) Used 6 different variables Used switch statement to increment At the time we noted the inefficiency Consider a new version of the program Uses array elements to total the number of rolls of each number 1 – 6 No switch statement needed View Figure 7.7 8 Enhanced for Statement Enhanced for statement New feature of J2SE 5.0 Allows iterates through elements of an array or a collection without using a counter Syntax for ( parameter : arrayName ) statement View example, Figure 7.12 9 References and Reference Parameters 17 In Java, primitive-type variables are always passed by value Incoming data only Objects are not passed to methods References to objects are passed The reference is passed by value With a reference to the Object Address of object object the method can manipulate the object directly 10 References and Reference Parameters Passing arrays by reference Improves performance Saves time Saves memory Initialization of large array not required Use memory already occupied by array No new memory allocation required View example program, Figure 7.13 11 Using Arrays Sorting Arrays Recall previous example Searching Arrays Linear search (see example) Step through array until desired value located Binary search Array must be sorted Look in middle, then above or below Look in middle of sub-section then above or below Etc. 12 Multidimensional Arrays Java does not support multidimensional arrays directly Does allow declaration of arrays whose elements are arrays! int b[][]; b = new int[ 2 ][ ]; // allocate rows b[ 0 ] = new int[ 5 ]; // allocate columns for row 0 b[ 1 ] = new int[ 3 ]; // allocate columns for row 1 13 Multidimensional Arrays Fig. 7.16 | Two-dimensional array with three rows and four columns. 14 Creating Two-dimensional Arrays Can be created dynamically 3-by-4 array int b[][]; b = new int[ 3 ][ 4 ]; Rows can have different number of columns int b[][]; b = new int[ 2 ][ ]; // create 2 rows b[ 0 ] = new int[ 5 ]; // create 5 columns for row 0 b[ 1 ] = new int[ 3 ]; // create 3 columns for row View Example Figure 7.17 15 Variable-Length Argument Lists New feature in J2SE 5.0 Unspecified number of arguments Use ellipsis (…) in method’s parameter list Can occur only once in parameter list Must be placed at the end of parameter list Array whose elements are all of the same type View example, Fig. 7.20 16 Using Command-Line Arguments Pass arguments from the command line String args[] Appear after the class name in the java command java MyClass a b Number of arguments passed in from command line args.length First command-line argument args[ 0 ] View Example Figure 7.21 17