Introduction to Arrays

A Java array is an ordered collection of primitives, object references, or other arrays. Java arrays are homogeneous: except as allowed by polymorphism, all elements of an array must be of the same type.

Each variable is referenced by array name and its index. Arrays may have one or more dimensions.

One-Dimensional Arrays

A one-dimensional array is a list of similar-typed variables. The general form of a one-dimensional array declaration is:


type var-name[ ];
  • type declares the array type.
  • type also determines the data type of each array element.

The following declares an array named days with the type "array of int":


int days[];
  • days is an array variable.
  • The value of days is set to null.

Allocate memory for array

You allocate memory using new and assign it to array variables. new is a special operator that allocates memory. The general form is:

arrayVar = new type[size];

  • type specifies the type of data being allocated.
  • size specifies the number of elements.
  • arrayVar is the array variable.

The following two statements first create an int type array variable and then allocate memory for it to store 12 int type values.


int days[]; 
days = new int[12];
days refers to an array of 12 integers.
All elements in the array is initialized to zero.

Array creation is a two-step process.

  1. declare a variable of the desired array type.
  2. allocate the memory using new.
In Java all arrays are dynamically allocated.
You can access a specific element in the array with [index].
All array indexes start at zero.
For example, the following code assigns the value 28 to the second element of days.

public class Main {
  public static void main(String[] argv) {
    int days[];
    days = new int[12];

    days[1] = 28;

    System.out.println(days[1]);
  }
}

It is possible to combine the declaration of the array variable with the allocation of the array itself.


int month_days[] = new int[12];

Array Element Initialization Values

Element TypeInitial Value
byte0
int0
float0.0f
char'\u0000'
object referencenull
short0
long0L
double0.0d
booleanfalse

Alternative Array Declaration Syntax

The square brackets follow the type specifier, and not the name of the array variable.


type[] var-name;

For example, the following two declarations are equivalent:


int al[] = new int[3]; 
int[] a2 = new int[3];

The following declarations are also equivalent:


char d1[][] = new char[3][4]; 
char[][] d2 = new char[3][4];
Home 
  Java Book 
    Language Basics  

Array:
  1. Introduction to Arrays
  2. Arrays can be initialized when they are declared
  3. Multidimensional Arrays
  4. Arrays length
  5. Calculate with Array