Neste tutorial, você aprenderá sobre as instruções de fluxo de controle usando as instruções Java if e if … else com a ajuda de exemplos.
Na programação de computadores, usamos a instrução if para controlar o fluxo do programa. Por exemplo, se uma determinada condição for atendida, execute um bloco específico de código. Caso contrário, execute outro código.
Por exemplo, atribuir notas (A, B, C) com base na porcentagem obtida por um aluno.
- se a porcentagem estiver acima de 90 , atribua nota A
- se o percentual estiver acima de 75 , atribuir nota B
- se o percentual estiver acima de 65 , atribuir nota C
Existem três formas de if… else
instruções em Java.
- declaração if
- declaração if … else
- if … else if … else declaração
- Declaração aninhada if… else
1. Declaração Java if (if-then)
A sintaxe de uma instrução if-then :
if (condition) ( // statements )
Aqui, condição é uma expressão booleana. Ele retorna true
ou false
.
- se a condição for avaliada como
true
, as instruções dentro do corpo deif
são executadas - se a condição for avaliada como
false
, as instruções dentro do corpo deif
são ignoradas
Como se a declaração funciona?

Exemplo 1: Java if Statement
class IfStatement ( public static void main(String() args) ( int number = 10; // checks if number is greater than 0 if (number> 0) ( System.out.println("The number is positive."); ) System.out.println("Statement outside if block"); ) )
Resultado
O número é positivo. Declaração fora do bloco
No exemplo acima, criamos uma variável chamada número. Observe a condição de teste,
number> 0
Aqui, a condição é verificar se o número é maior que 0 . Como o número é maior que 0 , a condição é avaliada true
.
Se mudarmos a variável para um número inteiro negativo. Digamos -5 .
int number = -5;
Agora, quando executarmos o programa, a saída será:
Statement outside if block
Isso ocorre porque o valor do número é menor que 0 . Portanto, a condição é avaliada como false
. E, o corpo do if
bloco é ignorado.
Observação : para saber mais sobre a expressão de condição, visite Java Relational Operators e Java Logical Operators.
Também podemos usar Java Strings como condição de teste.
Exemplo 2: Java se com String
class Main ( public static void main(String() args) ( // create a string variable String language = "Java"; // if statement if (language == "Java") ( System.out.println("Best Programming Language"); ) ) )
Resultado
Melhor Linguagem de Programação
No exemplo acima, estamos comparando duas strings no if
bloco.
2. Declaração Java if… else (if-then-else)
A if
instrução executa uma determinada seção de código se a expressão de teste for avaliada true
. No entanto, se a expressão de teste for avaliada como false
, ela não fará nada.
Nesse caso, podemos usar um else
bloco opcional . As instruções dentro do corpo do else
bloco são executadas se a expressão de teste for avaliada como false
. Isso é conhecido como instrução if-… else em Java.
A sintaxe da instrução if … else é:
if (condition) ( // codes in if block ) else ( // codes in else block )
Aqui, o programa fará uma tarefa (códigos dentro do if
bloco) se a condição for true
e outra tarefa (códigos dentro do else
bloco) se a condição for false
.
Como funciona a instrução if … else?

Exemplo 3: Java if… else Statement
class Main ( public static void main(String() args) ( int number = 10; // checks if number is greater than 0 if (number> 0) ( System.out.println("The number is positive."); ) // execute this block // if number is not greater than 0 else ( System.out.println("The number is not positive."); ) System.out.println("Statement outside if… else block"); ) )
Resultado
O número é positivo. Declaração fora do bloco if … else
No exemplo acima, temos uma variável chamada número. Aqui, a expressão de teste number> 0
verifica se o número é maior que 0.
Como o valor do número é 10, a expressão de teste avalia para true
. Portanto, o código dentro do corpo de if
é executado.
Agora, altere o valor do número para um inteiro negativo. Digamos -5.
int number = -5;
Se executarmos o programa com o novo valor de número, a saída será:
O número não é positivo. Declaração fora do bloco if … else
Aqui, o valor do número é -5. Portanto, a expressão de teste avalia para false
. Portanto, o código dentro do corpo de else
é executado.
3. Java if… else… if declaração
Em Java, temos um if… else… if ladder, que pode ser usado para executar um bloco de código entre vários outros blocos.
if (condition1) ( // codes ) else if(condition2) ( // codes ) else if (condition3) ( // codes )… else ( // codes )
Aqui, as if
instruções são executadas de cima para baixo. Quando a condição de teste é true
, os códigos dentro do corpo desse if
bloco são executados. E, o controle do programa salta para fora da escada if … else … if .
Se todas as expressões de teste forem false
, os códigos dentro do corpo de else
são executados.
Como a escada if… else… if funciona?

Exemplo 4: Java if… else… if declaração
class Main ( public static void main(String() args) ( int number = 0; // checks if number is greater than 0 if (number> 0) ( System.out.println("The number is positive."); ) // checks if number is less than 0 else if (number < 0) ( System.out.println("The number is negative."); ) // if both condition is false else ( System.out.println("The number is 0."); ) ) )
Resultado
O número é 0.
In the above example, we are checking whether number is positive, negative, or zero. Here, we have two condition expressions:
number> 0
- checks if number is greater than 0number < 0
- checks if number is less than 0
Here, the value of number is 0. So both the conditions evaluate to false
. Hence the statement inside the body of else
is executed.
Note: Java provides a special operator called ternary operator, which is a kind of shorthand notation of if… else… if statement. To learn about the ternary operator, visit Java Ternary Operator.
4. Java Nested if… else Statement
Em Java, também é possível usar if… else
instruções dentro de uma if… else
instrução. É chamado de if… else
instrução aninhada .
Aqui está um programa para encontrar o maior dos 3 números usando a if… else
instrução aninhada .
Exemplo 5: Declaração aninhada if… else
class Main ( public static void main(String() args) ( // declaring double type variables Double n1 = -1.0, n2 = 4.5, n3 = -5.3, largest; // checks if n1 is greater than or equal to n2 if (n1>= n2) ( // if… else statement inside the if block // checks if n1 is greater than or equal to n3 if (n1>= n3) ( largest = n1; ) else ( largest = n3; ) ) else ( // if… else statement inside else block // checks if n2 is greater than or equal to n3 if (n2>= n3) ( largest = n2; ) else ( largest = n3; ) ) System.out.println("Largest Number: " + largest); ) )
Produto :
Maior número: 4,5
Nos programas acima, atribuímos o valor das variáveis para tornar isso mais fácil.
No entanto, em aplicativos do mundo real, esses valores podem vir de dados de entrada do usuário, arquivos de log, envio de formulário, etc.