String

Pq o método main recebe o parâmetro String[] args?

Eu vi muitos códigos aqui assim…mas não consegui nem executá-los…tive que mudar o parâmetro pra vazio ou algum outro…não entendi o String[] args!

[quote]public static void main (String args[])

contém um dos códigos que você mais irá ver: a declaração da função principal do programa, onde ele ganha vida, onde é de fato iniciado: a função main(). A função main() precisa necessariamente ser pública ( palavra-chave public ), estática ( palavra-chave static ), sem tipo de retorno ( palavra-chave void ), e precisa conter um parâmetro array do tipo String ( String args[] )[/quote]

Eu vi isso num tutorial…é esse o motivo: “pq tem que ser!”?

O args esta ali pelo seguinte, considere que vc tenha a seguinte classe:

public class Teste {
	public static void main(String[] args) {
		for (int i = 0; i < args.length; i++) {
			System.out.println(args[i]);
		}

	}
}

Simples, ela itera o argumento args e imprime o que vier nele.

Agora fazemos a seguinte chamada para a classe Teste(considerando que a mesma ja foi compilada):

java Teste 1 2 3

O que será imprimido no prompt será o seguinte:

1
2
3

Ou seja, o args são os argumentos que vc passa para o método main quando vc faz a chamada para a classe que contém o mesmo, nesse exemplo, chamamos a classe Teste passando 1 2 e 3, esses valores vão automaticamente para o array(args[]).

Além de que serve para definir a assinatura do metodo main, pois tem de ser necessariamente um array de String.

Espero ter esclarecido.

[]'s

Sim…

Esclareceu um pouco…apenas a parte de definir a assinatura do método main…

A primeira parte…BOIEI…

Tipo…o que entra nela como parâmetro…ele coloca no array de String?

Então com esse método eu não preciso criar um array de String se eu precisar?? Posso usar o mesmo…correto?

Exatamente, os parâmetros que vc passa na chamada da classe(conforme foi feito acima)

Se vc precisar de outro array de String especifico para outras ocasiões é interessante criar um novo array sim, desde que não tenha o nome de args.

public class Teste {
	public static void main(String[] args) {

		String[] meuArrayParaQualquerCoisa = new String[10]; //seu novo array

		for (int i = 0; i < args.length; i++) {
			System.out.println(args[i]);
		}

	}
}

You get the point !! :thumbup:

[]'s