These tutorials will introduce you to Java programming language. You'll compile and run your very own Java application, using Sun's JDK. It's extremely easy to learn
java programming skills, and in these parts, you'll learn how to write, compile, and run Java applications. Before you can develop corejava applications, you'll need to
download the Java Development Kit (**JDK**).

__PART-4____Arrays__

Arrays are generally effective means of storing groups of variables. An array is a group of variables that share the same name and are ordered sequentially from zero to one less than the number of variables in the array. The number of variables that can be stored in an array is called the array's dimension. Each variable in the array is called an element of the array.

Creating Arrays

There are three steps to creating an array, declaring it, allocating it and initializing it.

__Declaring Arrays__

Like other variables in Java, an array must have a specific type like byte, int, String or double. Only variables of the appropriate type can
be stored in an array. You cannot have an array that will store both ints and Strings, for instance.

Like all other variables in Java an array must be declared. When you declare an array variable you suffix the type with `[]`

to
indicate that this variable is an array. Here are some examples:

`int[] k;`

float[] yt;

String[] names;

__Allocating Arrays__

`new`

`k = new int[3];`

yt = new float[7];

names = new String[50];

__Initializing Arrays__

`k`

`k[0]`

`k[1]`

`k[2]`

`k[3]`

`ArrayIndexOutOfBoundsException`

You can use array elements wherever you'd use a similarly typed variable that wasn't part of an array.

Here's how we'd store values in the arrays we've been working with:

`k[0] = 2;`

k[1] = 5;

k[2] = -2;

yt[6] = 7.5f;

names[4] = "Fred";

This step is called initializing the array or, more precisely, initializing the elements of the array. Sometimes the phrase "initializing the array" would be reserved for when we initialize all the elements of the array.

For even medium sized arrays, it's unwieldy to specify each element individually. It is often helpful to use `for`

loops to
initialize the array. For instance here is a loop that fills an array with the squares of the numbers from 0 to 100.

`float[] squares = new float[101];`

for (int i=0; i <= 500; i++) {

squares[i] = i*2;

}

__Shortcuts__

We can declare and allocate an array at the same time like this:

`int[] k = new int[3];`

float[] yt = new float[7];

String[] names = new String[50];

`int[] k = {1, 2, 3};`

float[] yt = {0.0f, 1.2f, 3.4f, -9.87f, 65.4f, 0.0f, 567.9f};

Declaring, Allocating and Initializing Two Dimensional Arrays

Two dimensional arrays are declared, allocated and initialized much like one dimensional arrays. However we have to specify two dimensions rather than one, and we typically use two nested for loops to fill the array.`for`

The array examples above are filled with the sum of their row and column indices. Here's some code that would create and fill such an array:

`class FillArray {`

public static void main (String args[]) {

int[][] M;

M = new int[4][5];

for (int row=0; row < 4; row++) {

for (int col=0; col < 5; col++) {

M[row][col] = row+col;

}

}

}

}

The syntax for three dimensional arrays is a direct extension of that for two-dimensional arrays. Here's a program that declares, allocates and initializes a three-dimensional array:

`class Fill3DArray {`

public static void main (String args[]) {

int[][][] M;

M = new int[4][5][3];

for (int row=0; row < 4; row++) {

for (int col=0; col < 5; col++) {

for (int ver=0; ver < 3;
ver++) {

M[row][col][ver]
= row+col+ver;

}

}

}

}

}

__Example 1 : declaring and initializing 1-dimensional arrays__

An array groups elements of the same type. It makes it easy to manipulate the information contained in them.

class Arrays1{

public static void main(String args[]){

// this declares an array named x with the type "array of int"
and of

// size 10, meaning 10 elements, x[0], x[1] , ... , x[9] ; the first
term

// is x[0] and the last term x[9] NOT x[10].

int x[] = new int[10];

// print out the values of x[i] and they are all equal to 0.

for(int i=0; i<=9; i++)

System.out.println("x["+i+"] = "+x[i]);

// assign values to x[i]

for(int i=0; i<=9; i++)

x[i] = i; // for example

// print the assigned values of x[i] : 1,2,......,9

for(int i=0; i<=9; i++)

System.out.println("x["+i+"] = "+x[i]);

// this declares an array named st the type "array of String"

// and initializes it

String st[]={"first","second","third"};

// print out st[i]

for(int i=0; i<=2; i++)

System.out.println("st["+i+"] = "+st[i]);

}

}

__Example 2 : Find the sum of the numbers 2.5, 4.5, 8.9, 5.0 and 8.9__

class Arrays2{

public static void main(String args[]){

// this declares an array named fl with the type "array of int"
and

// initialize its elements

float fl[] = {2.5f, 4.5f, 8.9f, 5.0f, 8.9f};

// find the sum by adding all elements of the array fl

float sum = 0.0f;

for(int i=0; i<= 4; i++)

sum = sum + fl[i];

// displays the sum

System.out.println("sum = "+sum);

}

}

Check that the sum displayed is 29.8.

__Example 3 : declaring and initializing 2-dimensional arrays__

class Arrays3{

public static void main(String args[]){

// this declares a 2-dimensional array named x[i][j] of size 4 (4
elements)

// its elements are x[0][0], x[0][1], x[1][0] and x[1][1].

// the first index i indicates the row and the second index indicates
the

// column if you think of this array as a matrix.

int x[][] = new int[2][2];

// print out the values of x[i][j] and they are all equal to 0.0.

for(int i=0; i<=1; i++)

for(int j=0; j<=1; j++)

System.out.println("x["+i+","+j+"] = "+x[i][j]);

// assign values to x[i]

for(int i=0; i<=1; i++)

for(int j=0; j<=1; j++)

x[i][j] = i+j; // for example

// print the assigned values to x[i][j]

for(int i=0; i<=1; i++)

for(int j=0; j<=1; j++)

System.out.println("x["+i+","+j+"] = "+x[i][j]);

// this declares a 2-dimensional array of type String

// and initializes it

String st[][]={{"row 0 column 0","row 0 column 1"},
// first row

{"row 1 column 0","row 1 column 1"}}; // second row

// print out st[i]

for(int i=0; i<=1; i++)

for(int j=0; j<=1; j++)

System.out.println("st["+i+","+j+"] = "+st[i][j]);

}

}