1
resposta

Execução de código em caso de valor diferente

Olá,

No caso se eu colocar um salário menor (ex: 2500.0) não seria para ele rodar apenas a condição do if (salario < 2600.0) ? ele apresenta os dois ifs

public class TesteIR {

public static void main(String[] args) {

    double salario = 2500.0;

    if (salario < 2600.0) {
        System.out.println("A sua aliquota é de 15%");
        System.out.println("Você pode deduzir até R$ 350");
    }

    if (salario < 3750.0) {
        System.out.println("A sua aliquota é de 22,5%");
        System.out.println("Você pode deduzir até R$ 636");
    }
}

}

A sua aliquota é de 15% Você pode deduzir até R$ 350 A sua aliquota é de 22,5% Você pode deduzir até R$ 636

1 resposta

Olá Filipi, tudo bem?

Nesse caso não. Pois da maneira na qual está escrita, quando você executar esse código ele sempre vai verificar os dois "if's". No caso do valor "2500.00" ele é menor que 2600.00 e também é menor que 3750.00, por isso quando executamos o código ele "cai" dentro dos dois if's e imprime essas informações no console.

Para evitar que o programa "caia" no segundo if, você pode utilizar o "else" antes do segundo if. De forma que, apenas se a primeira condição for falsa ele vá verificar a segunda condição (que se for verdadeira o programa mostra os valores em tela). Caso o contrário, se a primeira condição for verdadeira, ele executara o código que está dentro do primeiro if e não vai verificar o segundo if.

Exemplo:

public class Main {

    public static void main(String[] args) {

        double salario = 2500;

        if (salario < 2600.0) {
            System.out.println("A sua aliquota é de 15%");
            System.out.println("Você pode deduzir até R$ 350");
        } else if (salario < 3750.0) {
            System.out.println("A sua aliquota é de 22,5%");
            System.out.println("Você pode deduzir até R$ 636");
        }
    }

}

Espero ter ajudado! Bons estudos!