Java Arrays

Question 1

Which of the following is FALSE about arrays in Java?

Cross

A java array is always an object

Tick

Length of array can be changed after creation of array

Cross

Arrays in Java are always allocated on heap



Question 1-Explanation: 

In Java, arrays are objects, they have members like length. The length member is final and cannot be changed. All objects are allocated on heap in Java, so arrays are also allocated on heap.

Question 2
Predict the output?
// file name: Main.java
public class Main {
    public static void main(String args[]) {
       int arr[] = {10, 20, 30, 40, 50};
       for(int i=0; i < arr.length; i++)
       {
             System.out.print(" " + arr[i]);              
       }
    }
}
Tick
10 20 30 40 50
Cross
Compiler Error
Cross
10 20 30 40


Question 2-Explanation: 
It is a simple program where an array is first created then traversed. The important thing to note is, unlike C++, arrays are first class objects in Java. For example, in the following program, size of array is accessed using length which is a member of arr[] object.
Question 3
class Test {
   public static void main(String args[]) {
     int arr[2];  
     System.out.println(arr[0]);
     System.out.println(arr[1]);
   }
}
Cross
0
0
Cross
garbage value
garbage value
Tick
Compiler Error
Cross
Exception


Question 3-Explanation: 
In Java, it is not allowed to put the size of the array in the declaration because an array declaration specifies only the element type and the variable name. The size is specified when you allocate space for the array. Even the following simple program won\'t compile.
class Test {
   public static void main(String args[]) {
     int arr[5];   //Error
   }
}
Question 4
class Test {
   public static void main(String args[]) {
     int arr[] = new int[2];  
     System.out.println(arr[0]);
     System.out.println(arr[1]);
   }
}
Tick
0
0
Cross
garbage value
garbage value
Cross
Compiler Error
Cross
Exception


Question 4-Explanation: 
Java arrays are first class objects and all members of objects are initialized with default values like o, null.
Question 5
public class Main {
    public static void main(String args[]) {
        int arr[][] = new int[4][];
        arr[0] = new int[1];
        arr[1] = new int[2];
        arr[2] = new int[3];
        arr[3] = new int[4];
 
        int i, j, k = 0;
        for (i = 0; i < 4; i++) {
            for (j = 0; j < i + 1; j++) {
                arr[i][j] = k;
                k++;
            }
        }
        for (i = 0; i < 4; i++) {
            for (j = 0; j < i + 1; j++) {
                System.out.print(" " + arr[i][j]);
                k++;
            }
            System.out.println();
        }
    }
} 
Cross
Compiler Error
Tick
 0
 1 2
 3 4 5
 6 7 8 9 
Cross
 0
 0 0
 0 0 0
 0 0 0 0 
Cross
 9
 7 8
 4 5 6
 0 1 2 3 


Question 5-Explanation: 
In Java, we can create jagged arrays.  Refer Jagged Array in Java for details.
Question 6
Output of following Java program?
class Test
{
    public static void main (String[] args) 
    {
        int arr1[] = {1, 2, 3};
        int arr2[] = {1, 2, 3};
        if (arr1 == arr2) 
            System.out.println("Same");
        else
            System.out.println("Not same");
    }
}
Cross
Same
Tick
Not Same


Question 6-Explanation: 
See http://www.geeksforgeeks.org/compare-two-arrays-java/
Question 7
Output of following Java program?
import java.util.Arrays;
class Test
{
    public static void main (String[] args) 
    {
        int arr1[] = {1, 2, 3};
        int arr2[] = {1, 2, 3};
        if (Arrays.equals(arr1, arr2))
            System.out.println("Same");
        else
            System.out.println("Not same");
    }
}
Tick
Same
Cross
Not Same


Question 7-Explanation: 
See http://www.geeksforgeeks.org/compare-two-arrays-java/
Question 8
class Test
{
    public static void main (String[] args) 
    {
        int arr1[] = {1, 2, 3};
        int arr2[] = {1, 2, 3};
        if (arr1.equals(arr2))
            System.out.println("Same");
        else
            System.out.println("Not same");
    }
}
Cross
Same
Tick
Not same


Question 8-Explanation: 
arr1.equals(arr2) is same as (arr1 == arr2) 
Question 9
Consider the following C program which is supposed to compute the transpose of a given 4 x 4 matrix M. Note that, there is an X in the program which indicates some missing statements. Choose the correct option to replace X in the program.
#include<stdio.h>
#define ROW 4
#define COL 4
int M[ROW][COL] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
main()
{
    int i, j, t;
    for (i = 0; i < 4; ++i)
    {
        X
    }
    for (1 = 0; i < 4; ++i)
        for (j = 0; j < 4; ++j)
            printf ("%d", M[i][j]);
}
 
A)
for(j = 0; j < 4; ++j){
     t = M[i][j];
     M[i][j] = M[j][i];
     M[j][i] = t;
}
 
B)
for(j = 0; j < 4; ++j){
     M[i][j] = t;
     t = M[j][i];
     M[j][i] = M[i][j];
}
 
C)
for(j = i; j < 4; ++j){
     t = M[i][j];
     M[i][j] = M[j][i];
     M[j][i] = t;
}
 
D)
for(j = i; j < 4; ++j){
     M[i][j] = t;
     t = M[j][i];
     M[j][i] = M[i][j];
}
 
Cross
A
Cross
B
Tick
C
Cross
D


Question 9-Explanation: 
  • To compute transpose j needs to be started with i,so A and B are WRONG
  • In D, given statement is wrong as temporary variable t needs to be assigned some value and NOT vice versa
     M[i][j] = t; 
So the answer is C Check out the correct option C at Solution: http://code.geeksforgeeks.org/r7wbP6  
There are 9 questions to complete.


  • Last Updated : 27 Sep, 2023

Share your thoughts in the comments
Similar Reads