This is so that you don't accidentally assign 0.0 to a double[][] array of double[]s (which would be equivalent to double[] vector = 0.0). Java doesn't actually have any proper multidimensional arrays.
In Java, 0.0 is the default value for doubles, so when you retrieve the matrix from new, it will actually already be zeroed out. However, you could do the following if you wanted to fill it with, let's say, 1.0:
I don't think the API offers a way to deal with this issue without using a loop. However, using a for-each loop to complete the task is straightforward.
double[][] matrix = new double[20][4];
// Fill each row with 1.0
for (double[] row: matrix)
Arrays.fill(row, 1.0);