Java array declarations can use brackets on the type, after the variable name, or both. 'int i[][]' (C), 'int[]i[]' (D), and 'int[][] a' (D) are all legal. However, 'int i[5][5]' (B) is illegal because Java doesn't allow size specification in declarations - array sizes are set at initialization, not declaration.