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

Diferenca de Else e Else if ??

Qual a diferenca de Else, e de Esle if, quando devo usar cada um ?

3 respostas
solução!

O else é usado sem nenhuma condição. Ou seja, se a linha de execução do seu sistema não entrou em nenhuma condição anterior, ele vai entrar no else. O else if, diferente do else, ele testa uma determinada condição antes de executar o que tem dentro dele, não basta a linha de execução não ter entrado em nenhuma condição antes.

Ficou claro?

traduza para o portugues, if = Se, else =Senao, então o else if é "senao se " ou seja se a condicao anterior não for verdadeira verifique uma nova condicao, "senao se" condicao, já o else é apenas para quando nenhuma das condicoes anteriores foi verdadeira ai ele executa o else sem verificacao de condicao.

Vamos colocar um exemplo para ajudar a entender.

Exemplo ELSE:

int x = 10;
int y = 20;
if (x < y) {
    System.out.println("X é menor que Y.");
} else {
    System.out.println("X é maior ou igual a Y.");
}

Aqui testamos se um número é menor que o outro, se for caímos no lado verdadeiro da condição, se não for (ELSE) caímos no lado falso, ou seja, sabemos que se X não é menor, ele só pode ser maior ou igual a Y.

Exemplo ELSE IF:

int x = 10;
int y = 20;
if (x < y) {
    System.out.println("X é menor que Y.");
} else if (x > y) {
    System.out.println("X é maior que Y.");
} else {
    System.out.println("X é igual a Y.");
}

Aqui testamos se um número é menor que outro, se for caímos no lado verdadeiro da condição, se não for fazemos um novo teste (ELSE IF), e se não for verdadeiro este também, aí caímos no lado falso (ELSE) e consequentemente sabemos que se x não é menor, e não é maior, só pode ser igual a Y.

Resumindo:

IF - realiza um teste lógico, resultado é sempre um booleano

ELSE IF - nasce a partir de um IF inicial ou outro ELSE IF, realiza um teste lógico, resultado é sempre um booleano

ELSE - nasce a partir de um IF ou ELSE IF, não realiza um teste lógico, é executado quando todos os testes anteriores dão falso.

Abraços.