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 2 of 3.

Vinit katti said:   1 decade ago
int a[] = new a[5]

It creates an array of 5 elements and by default all the elements will be initialized to the default value of the datatype of the array. Since this array is of type int, the default value will be initialized to zero.

Amit said:   1 decade ago
How can you say that option C wrong please anybody explain me?

Arun said:   1 decade ago
Because they assume its not a field variable, since java won't initialize member variables, they are right. But question seems wrong still. What if its an instance variable, C is perfectly right.

Jyoti said:   1 decade ago
Because question is you have to initialize 5 numbers, its not only creating space in memory with by default values 00000. Question is rite. We have to create 5 memory space and give some value for each of the space. So option B is doing this only. Option C is creating 5 spaces in memory but not giving value to each space. So by default its taking 00000.

Amit said:   1 decade ago
If we done it as then its right.

int[] a = new int[5];/** this line deceleration of array**/

a[0] = 1;
a[1] = 2;
a[2] = 3;
a[3] = 4;
a[4] = 5; /** and its initialization of array and it must with deceleration**/

Harsh said:   1 decade ago
Awesome. Option C describes only array declaration not initialization.

Karthick said:   9 years ago
Can anybody tell me, what is the difference between instantiate and initialize?
(1)

Cutie said:   9 years ago
Difference b/w instantiate and initialize ?

Anyone ?
(1)

ShankPossible said:   9 years ago
In short option B and C both are correct.

Option C would have become incorrect if we were talking about the local variables.

Sagar singh said:   9 years ago
Instantiate is to create an instant of any class or create an instance of the class.
eg : Class1 obj = new Class1(); // here we instantiate the the class by creating its object.

Initialize means to involve value in any data member or integer.
eg : Array1[] new = {1,2,3,4,5}; // here we intialieze the array with 5 new integers.


Post your comments here:

Your comments will be displayed after verification.