Mais de uma...é função!

Pessoal,
Estou com uma dúvida aqui …
Como eu poderia retornar o valor de mais de uma… qual é o nome… função(pelo menos no PHP é esse o nome…)

Veja:

[quote]class stringA{
public static void main(String[] args){
String s = new String(“abcdefgh”);
System.out.println(s);
}
void salame(String[] args){
String c = new String("Eu sou do tipo char e me chamo

c");
System.out.println©;
}
}[/quote]

Neste caso ele só retorna abcdefgh
ah, e aproveitando… como eu sei o que deverei colocar aqui void salame(String[] args) ?

até… :slight_smile:

Oi,
Vamos por partes :slight_smile:

em java seriam métodos :slight_smile:

Assim como em C, um programa JAVA inicia sua execução pelo método main, esse método poder receber argumentos da linha de comando e não retorna nenhum tipo de dado, então é por isso que ele é declarado como void(não retorna nada) e recebe como argumentos um array de Strings.
Seu programa só retorna abcdefgh porque somente existe uma chamada a System.out.println() na execução do programa, seu método salame não é invocado em momento algum.

Isso varia de método para método, a lista de argumentos passados quem define é o programador.

Você poderia fazer o seguinte:

class StringA{
public static void main(String[] args){
	String s = new String("abcdefgh");
	System.out.println(s);
	salame("Minha Mensagem");
}
public static void salame(String msg){
	System.out.println(msg);
}
}

:arrow: Declarei o método salame como estático, assim posso acessa-lo sem precisar de uma referência. mas isso já são outros 500 :slight_smile:

Pera deixa eu ver se entendi …

Tipo no caso do exemplo que vc passou aí, o salame() foi chamado dentro de main, mas quando ele chegar nessa parte aí, o salame ainda não existirá, não é isso ? mas mesmo assim ele sabe de quem eu to referenciando e executa ?

E tipo todas as funções, ops, metodos que eu criar, tenho que colocar o valor dele dentro de main? Tipo:

[quote] // começo e talz…
public static void main(String[] args){
System.out.println(“Olá”);
}
public static void almondega( msg ){
System.out.println( msg );
}[/quote]

Desse jeito aí ele retorna Olá somente, se eu quizer que retorne o valor de almondega() preciso atribuir uma valor à ela dentro de main ?

[quote]
public static void main(String[] args){
System.out.println(“Olá”);
almondega(“Chamando almondega”);
}
//… daí chama almondega e talz…[/quote]

Seria isso então ?

agradesço pela ajuda!

até… :slight_smile:

Respondendo,

Sempre que o programa encontrar uma chamada a um método, o fluxo do programa será desviado para esse método, quando o método terminar de seu processamento o fluxo retorna ao chamador.

Não necessariamente, você pode chamar um método de qualquer outro método, desde é claro que esse método seja visível(leia sobre encapsulamento)

Não, na verdade você não atribui um valor, mas sim chama o método e passa um valro a ele.

blz sakei …essa parte…
Vou dar uma lida sobre encapsulamento…

Agradesço a força aí …

até… :slight_smile: