Java Programming - Language Fundamentals - Discussion

Discussion Forum : Language Fundamentals - General Questions (Q.No. 6)
6.
Which three are legal array declarations?
  1. int [] myScores [];
  2. char [] myChars;
  3. int [6] myScores;
  4. Dog myDogs [];
  5. Dog myDogs [7];
1, 2, 4
2, 4, 5
2, 3, 4
All are correct.
Answer: Option
Explanation:

(1), (2), and (4) are legal array declarations. With an array declaration, you can place the brackets to the right or left of the identifier. Option A looks strange, but it's perfectly legal to split the brackets in a multidimensional array, and place them on both sides of the identifier. Although coding this way would only annoy your fellow programmers, for the exam, you need to know it's legal.

(3) and (5) are wrong because you can't declare an array with a size. The size is only needed when the array is actually instantiated (and the JVM needs to know how much space to allocate for the array, based on the type of array and the size).

Discussion:
39 comments Page 1 of 4.

Amit said:   4 years ago
I think 2 4 5 is valid.
(4)

Janhavi said:   2 years ago
As it seems to be class if we see option 4th and 5th carefully, D is capital
First will create a class named Dog.
class Dog{
String name;
int age;
Dog(String name, int age){
this.name=name;
this.age=age;
}}
public class Info{
main(){
Scanner Sc = new Scanner ();
int age= Sc.nextInt();
String name= Sc.nextLine();
Dog D = new Dog(name,age);

If we create an array to store information of numbers of dogs then we can write as;
Dog[] dog = new dog[size];
So, whenever we create any of our own data types we need to create class of it first.
(3)

Akshay Hegde said:   1 decade ago
4 is not wrong because it represents an array of user-defined objects (objects of 'Dog' class). You can try initializing as "Dog myDog[] = new Dog[10];" this will create an array of size ten which can store ten 'Dog' objects in it.

5 is wrong because you can't declare array size during declaration. You can do that only during initialization "Dog myDog[]" is declaration and "new Dog[10]" is initialization.
(1)

Kavi said:   5 years ago
Dog is data type or not? Explain.
(1)

Sargam said:   8 years ago
Why can't we declare the size of the array?

But while applying the practical programs of java. Sometimes there is a dire need of allocating the array size as besides to that the garbage value is returned as the answer. Please explain.
(1)

Arjunkulothungan said:   7 years ago
Can anyone please explain how to create an own datatype?

MurugenthiranJeya.N said:   9 years ago
Anyone, Please explain the 5th option.

Ashutosh MIshra said:   9 years ago
Can you explain how 4th is correct?

Neha said:   9 years ago
Should not the size of the column in the multidimensional array be specified?

It is not specified in option 1.

Kedar said:   1 decade ago
Even though we declare the array just shown in option

A) we can't use it further it shows an error.


Post your comments here:

Your comments will be displayed after verification.