Review Questions
3.7 Given the following declaration, which expression returns the size of the array, assuming that the array reference has been properly initialized?
int[] array;
Select the one correct answer.
array[].length()
array.length()
array[].length
array.length
array[].size()
array.size()
array[].size
array.size
3.8 Is it possible to create arrays of length zero?
Select the one correct answer.
Yes, you can create arrays of any type with length zero.
Yes, but only for primitive data types.
Yes, but only for arrays of reference types.
No, you cannot create zero-length arrays, but the main() method may be passed a zero-length array of Strings when no program arguments are specified.
No, it is not possible to create arrays of length zero in Java.
3.9 Which one of the following array declaration statements is not legal?
Select the one correct answer.
int []a[] = new int [4][4];
int a[][] = new int [4][4];
int a[][] = new int [][4];
int []a[] = new int [4][];
int [][]a = new int [4][4];
3.10 Which of these array declaration statements are not legal?
Select the two correct answers.
int[] i[] = { { 1, 2 }, { 1 }, {}, { 1, 2, 3 } };
int i[] = new int[2] {1, 2};
int i[][] = new int[][] { {1, 2, 3}, {4, 5, 6} };
int i[][] = { { 1, 2 }, new int[ 2 ] };
int i[4] = { 1, 2, 3, 4 };
3.11 What would be the result of compiling and running the following program?
public class MyClass { public static void main(String[] args) { int size = 20; int[] arr = new int[ size ]; for (int i = 0; i < size; ++i) { System.out.println(arr[i]); } } }
Select the one correct answer.
The code will not compile, because the array type int[] is incorrect.
The program will compile, but will throw an ArrayIndexOutOfBoundsException when run.
The program will compile and run without error, but will produce no output.
The program will compile and run without error, and will print the numbers 0 through 19.
The program will compile and run without error, and will print 0 twenty times.
The program will compile and run without error, and will print null twenty times.
3.12 What would be the result of compiling and running the following program?
public class DefaultValuesTest { int[] ia = new int[1]; boolean b; int i; Object o; public static void main(String[] args) { DefaultValuesTest instance = new DefaultValuesTest(); instance.print(); } public void print() { System.out.println(ia[0] + " " + b + " " + i + " " + o); } }
Select the one correct answer.
The program will fail to compile because of uninitialized variables.
The program will throw a java.lang.NullPointerException when run.
The program will print 0 false NaN null.
The program will print 0 false 0 null.
The program will print null 0 0 null.
The program will print null false 0 null.