Tutorial: Initializing an Array


Authored by
Ronald S. Holland
Total Application Works
RonHolland@sumtotalz.com






To visit my site

HOME] Consulting Design Maintenance Project Testing Training Turnkey Java C++ SQL HTML JavaScript C#


To contact us

© 2002 - 2016 All Rights Reserved Total Application Works


  • Tell a friend about this site (copy and paste the following link or send this page to a friend.)
  • <html>
    <title>Example of a link </title>
    <body>
    <table border>
    <a href="http://sumtotalz.com/TotalAppsWorks/Structures/Arrays/Init_Array.html">An Introduction to Array Initializer List </a>
    </table>
    </body>
    </html>
  1. Java Table of contents
  2. 2nd Java Cup
  3. Pie Chart I
  4. Pie/Bar Chart IB
  5. Pie/Bar Chart II
  6. Pie/Bar Chart III
  7. A Basic Calculator
  8. Linked Lists
  9. Linked List II
  10. Linked List III
  11. Linked List IV
  12. Hardware Store I
  13. Hardware Store II
  14. Hardware Store III
  15. Client/Server
  16. Client/Server II
  17. Client/Server III
  18. Client/Server IV
  19. Multithreaded Client/Server
  20. Multithreaded Client/Server II
  21. Multithreaded Client/Server III
  22. Basic Calculator II
  23. Basic Calculator III

Objectives

After you finish this tutorial, you will understand:

  • The array data structure.
  • The use of arrays to store, sort and search lists and tables of values.
  • How to declare an array, initialize an array and refer to individual elements in am array.
  • How to pass an array to a method.
  • Some basic sorting techniques.
  • How to declare and manipulate multi-dimensional arrays.

Introduction to Arrays

What is an array? We all understand the concept of an array. If I say that you have a bookcase that has ten shelves and you can place one book on a shelf. We all understand this instruction. Furthermore, if I say once you place the first book on a shelf, the other nine books must be of the same type (i.e., dictionary, mystery, computer science, etc.), we all understand this instruction. If we all understand the above instructions, then we understand the concept of an array. A bookcase contains books. An array contains data. An array of size ten contains 10 pieces of data. This is just like our bookcase that contained ten books with one book per shelf. An array is an important data structure in any programming language. An array is a fixed-length structure that stores multiple values of the same data type (i.e., int, float, long, char, double, etc.). You can group values of the same type within arrays. You cannot mix data types. For instance, you cannot store data of type int and float in the same array of primitive data types. . Arrays are supported directly by the Java programming language; there is no array class. Arrays are implicit extensions of the Object class, so you can assign an array to a variable whose type is declared as Object. Arrays are:

  • Data structures consisting of related data items of the same type
  • Static - remain the size once they are created
  • An array is a group of contiguous memory locations that all have the same name and type
    • Most variables occupy a single location. The name of that variable is a reference to a memory location where that value of that variable is stored. Consider the following example.

      Variables
      Primitive
      Declaration
      Primitive
      Description
      Array
      Declaration
      Array
      Description
      int a = 10 ;
       
             |    |
             | 10 |
        a -> +----+
        ^
           |   
      address of where 
      'a' is located in 
      memory 
      
      int ar[] = new int[5] ;
      ar[0] = 10 ;
       
             |    |    |    |    |    |
             | 10 |    |    |    |    |
       ar -> +----+----+----+----+----+
      ^ | address of where 'ar' is located in memory
      Figure 1: Variable locations


      You will note that the value of '10' is stored at the location referenced by 'a'. In other words, the letter 'a' does not contain the value of '10'. Your house address does not contain your posessions; it is the house at that location that contains your possessions. Also note that ar[0] refers to the first location of the array ar.
  • The first element in an array is referenced by subscript 0.
  • The position number in the square brackets is called a subscript
  • A subscript must be an integer or an integer expression
  • When an expression is used as a subscript, the expression is evaluated first
  • If the array name is ar, the length may be determined by
     
        int len = ar.length ;
     
  • Every array in Java knows its own length
  • The brackets that enclose the subscript are an operator in Java
    • An array reference may be reassigned to an array of a different size

Declaring and allocating arrays

    Arrays occupy space in memory. The programmer specifies the data type of the elements and uses the new operator to dynamically allocate the space required to hold the elements specified. Arrays are considered objects and all objects must be allocated with the new operator. For example, to allocate a ten element array named ar

     
        int ar[] = new int[10];
    
    ---------------- or case 2 ---------------------
    
        int ar[];
        ar = new int[10];
    
    
    ---------------- or case 3 ---------------------
    
    int ar[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
    
    The above list encased within the brackets 
    is called an initializer list. It initializes the
    array with the initial values and the size of the
    array equals the number of values in the list.
    Figure 2: Declarations and Allocations


    When arrays are allocated, the elements are automatically initialized to

    • Zero for the numeric primitive types variables.
    • false for boolean, or
    • null for references (any nonprimitive type).
    For examples of declarations, consider the following:
     
    
    1-  String b[] = new String[ 100 ], 
           s[] = new String [ 27 ];
    
    2-  double[] array1, array2;
    
    3-  double[] array1 = new double[ 10 ], 
                   array2 = new double[ 20 ];
     
  • Every element of a String is a reference to a String that has the value null by default

InitArray template

In the following table, we will show an InitArray code snippet.

 
/** *************************************************
 * InitArray.java
 * 
 ****************************************************/
 
import java.awt.*;
import javax.swing.*;

public class InitArray extends JApplet {

   public void init() {

   }

   public int SumTheArrayElements( int b[], int size )  {

   }
} 
/****************** End of InitArray class ************************/ 

 
 
Figure 3: InitArray template

InitArray code example

In the following figure, you will find the code for this example.

  
/** ***************************************************
 *  InitArray.java -  initializing an array
 *  
 *  
 * Copyright (c) 2002-2009 Advanced Applications Total Applications Works.
 * (AATAW)  all Rights Reserved.
 * 
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 *   - Redistributions of source code must retain the above copyright
 *     notice, this list of conditions and the following disclaimer.
 *
 *   - Redistributions in binary form must reproduce the above copyright
 *     notice, this list of conditions and the following disclaimer in the
 *     documentation and/or other materials provided with the distribution.
 *
 *   - Neither the name of Total Application works nor the names of its
 *     contributors may be used to endorse or promote products derived
 *     from this software without specific prior written permission.
 *
 *
 *****************************************************/  

import java.awt.*;
import javax.swing.*;

public class InitArray extends JApplet {

   private String output = "" ;
   private int ar[];                   // declare reference to an array
   private JTextArea outputArea ;
   private Container c ;

   public void init() { 

      c = getContentPane() ;

      outputArea = new JTextArea( 11, 10 ) ;

      ar = new int[ 15 ];     // dynamically allocate array

      output += "Subscript\tValue\n";
   
      for ( int i = 0; i < ar.length; i++ ) {
         ar[ i ] = i ;
         output += i + "\t" + ar[ i ] + "\n";
      }

      outputArea.setText( output );

      c.add( outputArea ) ;

      setSize( 350 , 300 ) ;
   }
}



 /*********************  End of InitArray class  ******************/
 
Figure 4: InitArray Example Code


InitArray .bat file

The following example is the Bat file used to compile and run the InitArray program.

 
javac        InitArray.java


appletviewer InitArray.html


 
Figure 5: Bat file used to compile and run InitArray example.

To run this example

To run this example,

  1. Cut and paste the code in Figure 3 and place it in a file called InitArray.java.
  2. Cut and paste the code in Figure 4 and place it in a file called InitArray.bat.
  3. Double click on the InitArray.bat file and you will see the following.



    Figure 6: Image of InitArray example.








HOME] Consulting Design Maintenance Project Testing Training Turnkey Java C++ SQL HTML JavaScript C#

© 2002 - 2016 All Rights Reserved Total Application Works