Oie Flávio, tudo bem contigo?
Não sei se conseguir entender muito bem sua dúvida, mas vamos lá.
O que daria para fazer é transformar o seu método "getSaldo" para apenas fazer a impressão no console, para isso faça as seguintes alterações:
// retirar o double do método e colocar void, fazendo isso o seu método não vai ser obrigado a retornar nada
public void getSaldo() {
System.out.println("O saldo é de: " + this.saldo);
// após retirar o double e colocar void você vai poder deletar o return daqui
}
Entretando, eu não recomendo fazer o exemplo acima, pois o getter tem um padrão, sendo ele feito para sempre fazer esse "return" dependendo do tipo do método, por isso caso você não tenha a necessidade de ter esse "return" é melhor deletar esse método getter e criar outro no lugar, algo como "imprimeSaldo", onde o código seria igual o de cima mas com o nome diferente.
public void imprimeSaldo() {
System.out.println("O saldo é de: " + this.saldo);
}
Também existe a possibilidade de você criar mais um método, você deixa o "getSaldo" fazendo o trabalho dele de retornar e cria um método "imprimeSaldo" que vai ser responsável de fazer essa impressão.
public double getSaldo() {
return this.saldo;
}
public void imprimeSaldo() {
System.out.println("O saldo é de: " + this.saldo);
}
Respondendo sua última pergunta, sim, os getters e os setters podem conter estruturas condicionais e de loop dentro deles, sendo "ifs" ou um "for".
Espero ter conseguido te ajudar, se restar qualquer outra dúvida eu fico a disposição :)
Bons estudos!