0% found this document useful (0 votes)
17 views27 pages

07. Array

The document provides an overview of arrays in Java, including their definition, creation, initialization, and usage. It covers one-dimensional and multi-dimensional arrays, memory allocation, accessing elements, and array cloning. Additionally, it discusses passing arrays as arguments and returning arrays from methods, along with examples and exercises for practice.

Uploaded by

Eswar Adithya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views27 pages

07. Array

The document provides an overview of arrays in Java, including their definition, creation, initialization, and usage. It covers one-dimensional and multi-dimensional arrays, memory allocation, accessing elements, and array cloning. Additionally, it discusses passing arrays as arguments and returning arrays from methods, along with examples and exercises for practice.

Uploaded by

Eswar Adithya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 27

CSE380: Programming in Java

Topic: Array
Outlines
• Introduction
• Array Creation
• Array Initialization
• Array as an Argument
• Array as a return type
• Enumerations
Array
• Definition:
An array is a finite collection of variables of the same type
that are referred to by a common name.
• Arrays of any type can be created and may have one or more
dimensions.
• A specific element in an array is accessed by its index
(subscript).
• Array elements are stored in contiguous memory locations.

• Examples:
• Collection of numbers
• Collection of names
Examples
Array of numbers:
10 23 863 8 229

Array of names:

Sam Shanu Riya

Array of suffixes:
ment tion ness ves
One-Dimensional Arrays
• A one-dimensional array is a list of variables of same
type.
• The general form of a one-dimensional array
declaration is:
type [] var-name; array-var = new type[size];
OR
type [] var-name = new type[size];

Example:
int [] num = new int [10];
Syntax
Declaration of array variable:
data-type variable-name[];
eg. int marks[];

This will declare an array named ‘marks’ of type ‘int’. But no memory is
allocated to the array.

Allocation of memory:
variable-name = new data-type[size];
eg. marks = new int[5];

This will allocate memory of 5 integers to the array ‘marks’ and it can store
upto 5 integers in it. ‘new’ is a special operator that allocates memory.
Accessing elements in the array:
• Specific element in the array is accessed by specifying
name of the array followed the index of the element.
• All array indexes in Java start at zero.
variable-name[index] = value;
Example:
marks[0] = 10;
This will assign the value 10 to the 1st element in the array.

marks[2] = 863;
This will assign the value 863 to the 3rd element in the array.
Example
STEP 1 : (Declaration)
int marks[];
marks  null
STEP 2: (Memory Allocation)
marks = new int[5];
marks  0 0 0 0 0
marks[0] marks[1] marks[2] marks[3] marks[4]

STEP 3: (Accessing Elements)


marks[0] = 10;
marks  10 0 0 0 0
marks[0] marks[1] marks[2] marks[3] marks[4]
• Size of an array can’t be changed after the array is created.

• Default values:
– zero (0) for numeric data types,
– \u0000 for chars and
– false for Boolean types
– null for references

• Length of an array can be obtained as:


array_ref_var.length
Example
class Demo_Array
{
public static void main(String args[])
{
int marks[];
marks = new int[3];
marks[0] = 10;
marks[1] = 35;
marks[2] = 84;
System.out.println(“Marks of 2nd student=” + marks[1]);
}
}
Note
• Arrays can store elements of the same data type. Hence an
int array CAN NOT store an element which is not an int.
• Though an element of a compatible type can be converted
to int and stored into the int array.

eg. marks[2] = (int) 22.5;


This will convert ‘22.5’ into the int part ‘22’ and store it into the 3 rd place
in the int array ‘marks’.

• Array indexes start from zero. Hence ‘marks[index]’ refers


to the (index+1)th element in the array and ‘marks[size-1]’
refers to last element in the array.
Array Initialization
1. data Type [] array_ref_var = {value0, value1, …, value n};

2. data Type [] array_ref_var;


array_ref_var = {value0, value1, …,value n};

3. data Type [] array_ref_var = new data Type [n+1];


array_ref_var [0] = value 0;
array_ref_var [1] = value 1;

array_ref_var [n] = value n;
Exercise
Write a program which prompts the user to enter the
number of subjects.

Now read the marks of all the subjects from the user
using Scanner class.

Write a method which calculates the percentage of the


user.
Multi-Dimensional Array
• Multidimensional arrays are arrays of arrays.

• Two-Dimensional arrays are used to represent a table or a


matrix.

• Creating Two-Dimensional Array:


int twoD[][] = new int[4][5];
Conceptual View of 2-Dimensional Array
class TwoDimArr
{
public static void main(String args[])
{
int twoD[][]= new int[4][5];
int i, j, k = 0;
for(i=0; i<4; i++)
for(j=0; j<5; j++)
{
twoD[i][j] = k;
k++;
}
for(i=0; i<4; i++)
{
for(j=0; j<5; j++)
System.out.print(twoD[i][j] + " ");
System.out.println();
}
}
}
• When we allocate memory for a multidimensional
array, we need to only specify the memory for the
first (leftmost) dimension.

int twoD[][] = new int[4][];

• The other dimensions can be assigned manually.


// Manually allocate differing size second dimensions.
class TwoDAgain {
public static void main(String args[]) {
int twoD[][] = new int[4][];
twoD[0] = new int[1];
twoD[1] = new int[2];
twoD[2] = new int[3];
twoD[3] = new int[4];
int i, j, k = 0;
for(i=0; i<4; i++)
for(j=0; j<i+1; j++)
{
twoD[i][j] = k;
k++;
}
for(i=0; i<4; i++) {
for(j=0; j<i+1; j++)
System.out.print(twoD[i][j] + " ");
System.out.println();
}
}
}
Initializing Multi-Dimensional Array
class Matrix {
public static void main(String args[]) {
double m[][] = {
{ 0*0, 1*0, 2*0, 3*0 },
{ 0*1, 1*1, 2*1, 3*1 },
{ 0*2, 1*2, 2*2, 3*2 },
{ 0*3, 1*3, 2*3, 3*3 }
};
int i, j;
for(i=0; i<4; i++) {
for(j=0; j<4; j++)
System.out.print(m[i][j] + " ");
System.out.println();
}
}
}
Alternative Array Declaration
type[ ] var-name;

• Example:
char twod1[][] = new char[3][4];
char[][] twod2 = new char[3][4];

• This alternative declaration form offers convenience


when declaring several arrays at the same time.

• Example: int[] nums, nums2, nums3;


Array Cloning
• To actually create another array with its own values,
Java provides the clone() method.

• arr2 = arr1; (assignment)


is not equivalent to
arr2 = arr1.clone(); (cloning)

In first case, Only one array is created and two references arr1
and arr2 are pointing to the same array. While in second case
two different arrays are created.
Array as Argument
• Arrays can be passed as an argument to any method.

Example:

void show ( int []x) {}

public static void main(String arr[]) {}

void compareArray(int [] a, int [] b ){}


Array as a return Type
• Arrays can also be returned as the return type of any
method

Example:
public int [] Result (int roll_No, int marks )
Assignment for Practice

• WAP in which use a method to convert all the double


values of argumented array into int.
public int[] double_To_Int(double [] ar)

• WAP to create a jagged Array in which rows and


columns should be taken as input from user.
Assignment for Practice

• WAP in which prompt the user to enter the number of


subjects and number of CA in each subject. Read the
marks of each CA and store in a two dimensional
array.
Implement a method
public char[] findGrades(double [][] marks)
Variable Length Argument List
• Used to pass variable number of arguments of the
same type to a method.
Syntax: int … arr
Example: Consider the following method
public void add(int [] arr)
In this method user has to pass an array of int type. But if we use
public void add(int … arr)

Then One can invoke the same method in different ways:


a. add(3, 4, 5);
b. int [] x = {3, 4, 5, 6, 7}; add(x);

You might also like