One Dimensional Array
Initializing an array means assigning values to the array elements. It can be either primitive values (12, 75.5, true, etc) or object reference (Animal, Person, String, etc)
package com.ibytecode.arrays;
class Student
{
String name;
int id;
}
public class OneDReferenceArray {
public static void main(String[] args) {
Student[] students = new Student[3];
Student studentOne = new Student();
students[0] = studentOne; //Null reference
students[1] = new Student();
System.out.println(students[2]); //Null reference
System.out.println(students[2].name);//NullPointerException
}
}
null
Exception in thread “main” java.lang.NullPointerException
at com.ibytecode.arrays.TwoDReferenceArray.main(TwoDReferenceArray.java:17)
- Individual elements in the array can be accessed using index.
students[0] = new Student();
- Index should start from 0 to (size-1) i.e.) if the size = 3 then index numbers will be from 0 through 2.
- Trying to access index < 0 or index >= size will throw ArrayIndexOutOfBoundsException.
How many objects will be created in the memory?
- One Student [] array object referenced by students
- One Student object referenced by studentOne
- One Student object referenced by students[1].
So, totally three objects in the memory and two reference variables will be created.
Two Dimensional (2D) Array
package com.ibytecode.arrays;
public class TwoDArray {
public static void main(String[] args) {
double[][] studentAvgs; //declaring a 2D array reference
studentAvgs = new double[3][]; //creating an array object
double[] student1Marks = new double[2];
student1Marks[0] = 80.0;
student1Marks[1] = 90.0;
//1st element holds two double elements
studentAvgs[0] = student1Marks;
//2nd element holds an array of three double elements
studentAvgs[1] = new double[3];
studentAvgs[1][0] = 75.5;
studentAvgs[1][1] = 65.5;
studentAvgs[1][2] = 85.5;
//3rd element holds an array of one double element
studentAvgs[2][0] = 95.5;
}
}
How many objects will be created in the memory?
- One double[] [] array object referenced by studentAvgs
- One double[] array object referenced by student1Marks
- One double[] array object referenced by studentAvgs[1] with size 3.
- One double[] array object referenced by studentAvgs[2] with size 1.
So, totally four objects in the memory and two reference variables will be created.
Initializing array elements using a loop
Here you can use length array variable to loop till the array size and assign values for each element.
Primitive Array
package com.ibytecode.arrays;
public class InitializingPrimitiveArray {
public static void main(String[] args) {
int[] numbers = new int[5];
int j = 0;
for(int i = 0; i < numbers.length; i++) {
numbers[i] = j += 10;
System.out.print(numbers[i] + " ");
}
}
}
10 20 30 40 50
Reference Array
package com.ibytecode.arrays;
class Student {
String name;
int id;
}
public class InitializingReferenceArray {
public static void main(String[] args) {
Student[] students = new Student[3];
System.out.println(students.length);
for (int i = 0; i < students.length; i++) {
students[i] = new Student();
}
}
}


