Dúvida no esqueleto da linguagem

Já entendi muito sobre a linguagem java, consegui já registrar arquivos no banco de dados e tudo mais, porém me resta umas dúvidas que não sao explicadas em local algum

por exemplo, sei o porque tenho que usar o:

public static void main(String[] args) {

mas nao sei porque posso usar ele como:

public static void main(String args[]) {

qual a diferença do [] ? E o que tem dentro do main(), o string nao vale uma coisa e o args outra? ou não?

A resposta é simples: as duas sintaxes são permitidas, e significam exatamente a mesma coisa. :smiley:

Abraço,

Armando

No método main, é declarado como parâmetro um array de Strings, com um nome qualquer (geralmente é args). Em Java, é possível declarar arrays de uma dimensão de duas formas:

String[] args

ou

String args[]

isso eu também sei, já testei as duas formas.

mas o que vc nao entendeu (eu acho) é que eu sei que preciso usar o public static void main(String[] args) { e para que usalo, mas nao sei o que significa o String args e pq ele tem essas duas opcoes, o que elas significam, entende?

to querendo tirar essa duvida para poder ler e entender o que estou lendo, como sei quando estou declarando uma variavel ou usando uma classe externa :wink:

vlw.

String args[] porque é um array de String, mas não precisa ser args o nome, pode ser qualquer outro.
E a sua utilidade no método é porque ao executar a sua classe você pode passar parâmetros na linha de comando. Por exemplo:

public static void main(String[] args){ System.out.println("Argumento="+args[0]); }

Se você executar assim:

Vai sair:

Entendeu?

boa :slight_smile: agora sim

Lembrando que cada argumento é indexado na ordem em que aparece na execução.

Assim,

java MyClass arg0 arg1 arg2 arg3 arg4 arg5

Colocaria “arg0” na posição 0 do vetor, “arg1” na posição 1, e assim por diante.