public String toString() {
return folha ? Double.toString(valor) : Character.toString(operacao) ;
}
Alguém poderia comentar esse pedaço de código?
public String toString() {
return folha ? Double.toString(valor) : Character.toString(operacao) ;
}
Alguém poderia comentar esse pedaço de código?
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 : <condição> [color=red]?[/color] [color=red] :[/color] ;
É muito usado para atribuições, pois pode manter o código mais limpo. Ex:[code]if(idade > 18){
maiorDeIdade = true;
}else{
maiorDeIdade = false;
}
// Agora utilizando um operador ternário:
maiorDeIdade = (idade > 18) ? true : false;[/code] 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.
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.
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 :
Obrigado agora conseguir entender.