primeiro, a diferença de String [] args para String args[] é a seguinte, por ex:
na declaração acima, temos 2 arrays de strings, "a" e "b", e um objeto string "b".. já no exemplo abaixo..
pelo fato de estarmos colocando o [] antes dos nomes das variáveis, todas elas serão arrays de strings.........
ok, o String [] args no método main() representam os argumentos q tu pode passar pro teu programa via console, como o int argc, char *argv do C... um exemplo em Java:
public class Foo {
public static void main( String [] args ) {
for ( int i = 0; i < args.length; i++ )
System.out.println( args[i] );
}
}
se vc compiar esse programa com javac Foo.java, pode chamá-lo no console assim por ex:
java Foo eu amo o portal java
q ele irá imprimir cada palavra q vc colocou junto no comando, uma abaixo da outra...