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

4 respostas
H

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:

<blockquote>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©;

}

}</blockquote>

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

até… :slight_smile:

4 Respostas

H

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:

H

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:

<blockquote> // começo e talz…

public static void main(String[] args){

System.out.println(Olá);

}

public static void almondega( msg ){

System.out.println( msg );

}</blockquote>

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

<blockquote>

public static void main(String[] args){

System.out.println(Olá);

almondega(Chamando almondega);

}

//… daí chama almondega e talz…</blockquote>

Seria isso então ?

agradesço pela ajuda!

até… :slight_smile:

H

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.

H

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

Agradesço a força aí …

até… :slight_smile:

Criado 10 de abril de 2005
Ultima resposta 10 de abr. de 2005
Respostas 4
Participantes 2