[Resolvido]Explicação de codigo

4 respostas
P
public String toString() { 
			return folha ? Double.toString(valor) : Character.toString(operacao) ; 
			}

Alguém poderia comentar esse pedaço de código?

4 Respostas

Rodrigo_Sasaki

Você não entende o que ele faz?

não entende o toString() ou o operador ternário?

O operador ternário é um operador condicional como um if, ele poderia ser traduzido para isso
if(folha){
    return Double.toString(valor);
} else {
    return Character.toString(operacao);
}
A sintaxe dele é essa : [color=red]?[/color] [color=red] :[/color] ; É muito usado para atribuições, pois pode manter o código mais limpo. Ex:
if(idade > 18){
    maiorDeIdade = true;
}else{
    maiorDeIdade = false;
}

// Agora utilizando um operador ternário:

maiorDeIdade = (idade > 18) ? true : false;
Esse ternário pode ser aprimorado (na verdade ele nem é necessário nessa atribuição), mas é só um exemplo bem simples e bobo, pra você entender como ele funciona.
ViniGodoy

O que o ternário tem diferente do if:
a) O operador ternário é um operador. Portanto, ele retorna valor;
b) Os dois valores retornados devem, necessariamente, ser do mesmo tipo.

E

Um jeito de explicar o operador ternário é que ele é uma versão “mistificada” do “SE” do Excel. (“IF” no Excel em inglês) De modo geral, tudo que é mais intuitivo no Basic ou no Excel é mais complicado no C e, por decorrência, no Java, que é um “neto” da linguagem C.

No Excel você pode criar uma fórmula assim:

=SE (A9 > 0; "SALDO CREDOR"; "SALDO DEVEDOR")

ou (no Excel em inglês)

=IF (A9 > 0, "SALDO CREDOR", "SALDO DEVEDOR")

No Java a mesma fórmula é:

(A9 > 0) ? "SALDO CREDOR" : "SALDO DEVEDOR"

Viu ? Não tem dificuldade nenhuma : :slight_smile:

P

Obrigado agora conseguir entender.

Criado 11 de junho de 2012
Ultima resposta 11 de jun. de 2012
Respostas 4
Participantes 4