Referente ao desafio da Conta Bancaria, assiti a primeira aula do desafio e tentei fazer da forma que eu sabia antes de ver a continuacao das explicacoes, porem a professora usa o "else if", acho q ainda n tinha abordado ele, entao eu tinha utilizado apenas "if" para cada opcao, e usei o else na opcao 3, mas n utilizei "else if". Queria entender melhor como funciona o else if, se eh a melhor forma de fazer e pq?
import java.util.Scanner;
public class ContaBanco {
static void main(String[] args) {
Scanner leitura = new Scanner(System.in);
String nome = "felipe";
String conta = "corrente";
double saldoatual = 5000;
double saldoinicial = saldoatual;
int escolha = 0;
double recebe = 0;
double transfere = 0;
System.out.printf("""
**********************************
Dados iniciais do cliente:
Nome: %s
Tipo de conta: %s
Saldo Inicial: R$%.2f
**********************************
""", nome, conta, saldoinicial);
while (escolha != 4){
System.out.printf("""
Operacoes:
1- Consultar Saldos
2- Receber Valores
3- Transferir valor
4- Sair
Digite a opcao desejada:
""");
escolha = leitura.nextInt();
if (escolha > 4 || escolha < 1){
System.out.printf("Escolha invalida! %nEscolha uma das 4 opcoes! %n");
}
if (escolha == 1){
System.out.printf("Seu saldo atual eh R$%.2f %n", saldoatual);
}
if (escolha == 2){
System.out.println("Digite o valor que ira receber!:");
recebe = leitura.nextDouble();
saldoatual = saldoinicial + recebe;
System.out.printf("Seu saldo atual agora eh de R$%.2f %n", saldoatual);
}
if (escolha == 3){
System.out.println("Digite o valor que ira transferir!:");
transfere = leitura.nextDouble();
if (transfere <= saldoatual) {
saldoatual = saldoatual - transfere;
System.out.printf("Voce transferiu R$%.2f, seu saldo atual eh R$%.2f %n", transfere, saldoatual);
}
else
System.out.printf("Saldo insuficiente, seu limite eh R$%.2f! %n", saldoatual);
}
if (escolha == 4){
System.out.println("voce deslogou da sua conta!");
break;
}
}
leitura.close();
}
}