Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Exercício TesteIR

Usei somente o if , eu teria que usar else if ou posso considerar ?


public class TesteIR {

    public static void main(String[] args) {

        // De 1900.0 até 2800.0 o IR é de 7.5% e pode deduzir R$ 142
        // De 2800.01 até 3751.0 o IR é de 15% e pode deduzir R$ 350
        // De 3751.01 até 4664.00 o IR é de 22.5% e pode deduzir R$ 636


        double salario = 3300.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.0 && salario <= 3751.0) {

            System.out.println("O IR é de 15% e pode deduzir R$ 350");
        }

        if (salario >= 3751.0 && salario <= 4664.0) {

            System.out.println("O IR é de 22.5% e pode deduzir R$ 636");

        }
    }

}
4 respostas
solução!

Boa noite, Gilmar! Como vai?

Essa tbm é uma solução válida. A diferença é que com essa sua solução todas as instruções if serão verificadas, mesmo quando a gente sabe que apenas uma delas será executada no final. Já com o if - else if se o código entrar no primeiro if os demais nem serão verificados e, portanto, o código seja mais otimizado!

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos!

Olá Gilmar,

não precisaria usar o else if nesse caso, só com o if já funciona. O que o else if te ajudaria neste caso é que as condições poderia ficar mais simples. Dado que o else é o caso contrário do anterior, usando o else if você não precisaria declarar a primeira condição de cada if do seu código, já que ela no fundo está servindo para contradizer a anterior. Então poderia ficar algo assim:

if(salario < 1900.0) {
    System.out.println("Não tem IR");
}
else if (salario <= 2800.0) {
    System.out.println("O IR é de 7.5% e pode deduzir na declaração o valor de R$ 142");
}
else if (salario <= 3751.0) {
    System.out.println("O IR é de 15% e pode deduzir R$ 350");
}
else if (salario <= 4664.0) {
    System.out.println("O IR é de 22.5% e pode deduzir R$ 636");
}

Opa peguei

Pelo código do Lucas conseguir entender

Valeu Lucas e Gabriel Abraços

Por nada, Gilmar! Sempre que tiver qualquer dúvida é só mandar aqui no fórum!

Grande abraço e bons estudos!