1
resposta

Opcional: Alíquota com ifs

Tenho uma duvida em relação ao if , é necessario nesse exercicio colocar else ou da forma que fiz tambem esta certa?


public class ExercicioIfs {

    public static void main(String[] args) {
        double salario = 2800.0;

        if(salario >= 1900.0 && salario <= 2800.0) {
            System.out.println("o IR é de 7.5% e pode deduzir na "
                    + "declaração o valor de R$ 142");
        }

         if(salario >= 2800.01 && salario <= 3751.0) {
            System.out.println("o IR é de 15%"
                    + " e pode deduzir R$ 350");
        }

         if(salario >= 3751.01 && salario <= 4664.00) {
            System.out.println("o IR é de 22.5% e "
                    + "pode deduzir R$ 636");

        }
    }

}

1 resposta

Oie Estevão, tudo bem contigo?

Em algumas situações como esse problema das alíquotas realmente não faz diferença usar apenas o "if" ou o "else if" já que as condicionais dos seus "ifs" estão bem definidas, então não corre o risco de dois "ifs" serem executados. Entretanto, veja a situação abaixo:

int numero = 100;

if(numero <= 100) {     // 100 é igual a 100 então esse if será executado
    System.out.println("menor ou igual a 100");
} 
if(numero < 1000) {   // 100 também é menor que 1000, então esse if também será executado
    System.out.println("menor que 1000");
}

Na situação acima ambos os "ifs" seriam executados e para resolvermos isso teríamos que usar o "else if", que basicamente é executado quando a condicional anterior não acontece. Para deixar mais claro:

  • if: faz um teste lógico que por padrão sempre terá um booleano como resultado.
  • else if: é usado depois de um "if" ou "else if", faz um teste lógico que por padrão sempre terá um booleano como resultado.
  • else: é usado depois de um "if ou "else if", não faz teste lógico e é executado quando as condicionais anteriores falharam

Espero ter ajudado!

Se tiver qualquer outra dúvida estarei por aqui :)