Java Programming - Language Fundamentals - Discussion

Discussion Forum : Language Fundamentals - General Questions (Q.No. 8)
8.
Which one of the following will declare an array and initialize it with five numbers?
Array a = new Array(5);
int [] a = {23,22,21,20,19};
int a [] = new int[5];
int [5] array;
Answer: Option
Explanation:

Option B is the legal way to declare and initialize an array with five elements.

Option A is wrong because it shows an example of instantiating a class named Array, passing the integer value 5 to the object's constructor. If you don't see the brackets, you can be certain there is no actual array object! In other words, an Array object (instance of class Array) is not the same as an array object.

Option C is wrong because it shows a legal array declaration, but with no initialization.

Option D is wrong (and will not compile) because it declares an array with a size. Arrays must never be given a size when declared.

Discussion:
25 comments Page 3 of 3.

Rafael said:   1 decade ago
Wrong.

int a[] = new int[5];

is a declaration followed by the implicit initialization of all array values to 0. This is different to e.g. C++ where an array construction would remain with those values formerly stored in the memory the array directs to. However, Java overwrites these values upon array construction.

Narendra Mahankale said:   1 decade ago
Question is about declare array & initialize with 5 members.so

int a[]=new int[5] only create space in memory for 5 elements

but not actually store any element.

int [] a = {23,22,21,20,19} this create space in memory as well as store 5 elements viz. 23,22,21,20,19 in memory...

Hope everyone will understand...

Nuzhat said:   1 decade ago
int a[]=new int[5] is a declaration of array with 5 elements not initialization.

Amrita said:   1 decade ago
Exactly.

int a [] = new int[5]; // Why is wrong ?

Can anyone please ans ?

Hi_hello said:   1 decade ago
int a [] = new int[5]; why is t wrong?


Post your comments here:

Your comments will be displayed after verification.