Sintaticamente os dois são certos, como já ficou bem esclarecido nas respostas.
Já do ponto de vista de estilo, existe um que costuma ser considerado mais “certo”, é o String[] args
Veja:
int myvalue;
String someString;
String[] manyStrings;
String otherStrings[];
Na linha 3 está mantido o padrão das duas primeiras, que é: No lado esquerdo fica a declaração de tipo da variável, no direito o nome. Você bate o olho no lado esquerdo e vê que o tipo é um Array de String.
Já a linha 4 tem essa quebra, o tipo não está totalmente definido do lado esquerdo. A leitura fica meio “Uma variável tipo String chamada otherStrings, ops, peraí, é um array”
Sintaticamente os dois são certos, como já ficou bem esclarecido nas respostas.
Já do ponto de vista de estilo, existe um que costuma ser considerado mais “certo”, é o String[] args
Veja:
int myvalue;
String someString;
String[] manyStrings;
String otherStrings[];
Na linha 3 está mantido o padrão das duas primeiras, que é: No lado esquerdo fica a declaração de tipo da variável, no direito o nome. Você bate o olho no lado esquerdo e vê que o tipo é um Array de String.
Já a linha 4 tem essa quebra, o tipo não está totalmente definido do lado esquerdo. A leitura fica meio “Uma variável tipo String chamada otherStrings, ops, peraí, é um array”[/quote]
A linha 4 foi incluída pois a Sintaxe do Java foi copiada do C. Em C, é possível fazer isso aqui:
String x, y[10], z*, k[20];
Onde x é uma String, y é um array de Strings de 10 posições, z é um ponteiro para uma String e k é outro array de 20 posições. Por isso, em C, o símbolo fica associado a variável e não ao tipo.
No Java, optou-se por mover para a frente pois String[] sempre significa o tipo “array de Strings”. Não é possível criar na mesma linha um array e uma String livre. Em C#, somente a forma String[] x é válida.