image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Article image
Sabrina Moreira
Sabrina Moreira18/06/2025 16:41
Compartilhe
WEX - End to End EngineeringRecomendados para vocêWEX - End to End Engineering

Fundamentos do Java: Estruturas condicionais e de repetição

  • #Java

Ao aprender Java, dominar as estruturas condicionais e os laços de repetição é essencial para escrever programas inteligentes e dinâmicos. Neste guia, você entenderá como tomar decisões no código e repetir ações de forma eficiente.

1. Estruturas Condicionais

if, else if e else

Usado para testar condições variadas e executar blocos diferentes dependendo do resultado.

int numero = 5;

if (numero < 0) {
  System.out.println("Negativo");
} else if (numero == 0) {
  System.out.println("Zero");
} else {
  System.out.println("Positivo");
}

Prós: Muito flexível, suporta condições complexas. Fácil de entender para iniciantes.

Contras: Pode ficar longo e difícil de ler com muitas condições encadeadas.

Operador Ternário (Elvis Operator)

Forma compacta para decisões simples, atribuindo valores diretamente.

int numero = 5;

String resultado = numero < 0 ? "Negativo" : (numero == 0 ? "Zero" : "Positivo");
System.out.println(resultado);

Prós: Código curto e direto. Ideal para expressões simples.

Contras: Pode ficar confuso se aninhado várias vezes; não substitui blocos complexos.

switch case

Melhor para múltiplas comparações baseadas em valores fixos.

O break é necessário para que após entrar na estrutura do case, e tombar com o break, o switch seja finalizado, e não fique entrando em todos os outros cases existentes.

int numero = 5;

switch (Integer.signum(numero)) {
  case -1:
      System.out.println("Negativo");
      break;
  case 0:
      System.out.println("Zero");
      break;
  case 1:
      System.out.println("Positivo");
      break;
  default:
      System.out.println("Valor inesperado");
}

Prós: Organizado, fácil de manter, claro para múltiplos casos.

Contras: Não suporta condições complexas, só valores fixos; pode precisar de adaptações.

switch case com ->

Quando você utiliza a sintaxe de switch com case → (introduzida no Java 14+ com a switch expression) e precisa executar mais de uma linha de código, você deve usar o bloco {} com a palavra-chave yield para indicar o valor de retorno da expressão switch.


int numero = 5;

String resultado = switch (Integer.signum(numero)) {
  case -1 -> {
      System.out.println("Número analisado: " + numero);
      yield "Negativo";
  }
  case 0 -> {
      System.out.println("Número é zero");
      yield "Zero";
  }
  case 1 -> {
      System.out.println("Número é positivo");
      yield "Positivo";
  }
  default -> {
      System.out.println("Valor inesperado");
      yield "Desconhecido";
  }
};

System.out.println("Resultado: " + resultado);

Explicação:

  • switch agora pode ser usado como expressão (switch ... =).
  • yield substitui o return dentro de blocos de case e retorna um valor para a expressão switch.
  • return não pode ser usado aqui, pois ele retornaria da função inteira, não do switch.

2. Estruturas de Repetição

Vamos repetir a mensagem 3 vezes usando diferentes laços.

for

Ideal para repetições quando se sabe o número exato de vezes.

for (int i = 0; i < 3; i++) {
  int numero = 5;
  if (numero < 0) {
      System.out.println("Negativo");
  } else if (numero == 0) {
      continue;
  } else {
      System.out.println("Positivo");
  }
}

Aqui quando o número for 0, a condição será pulada indo direto ao próximo loop.

Prós: Sintaxe compacta e clara, controle fácil do contador.

Contras: Pouco flexível para loops condicionais dinâmicos.

while

Repete enquanto a condição for verdadeira. Flexível para casos em que o número de repetições não é conhecido.

int i = 0;

while (i < 3) {
  int numero = 5;
  if (numero < 0) {
      System.out.println("Negativo");
  } else if (numero == 0) {
      System.out.println("Zero");
  } else {
      System.out.println("Positivo");
  }
  i++;
}

Prós: Flexível, bom para loops com condições variáveis.

Contras: Requer cuidado para evitar loops infinitos; controle do contador manual.

do while

Garante que o bloco execute pelo menos uma vez, verificando a condição depois.

int i = 0;

do {
  int numero = 5;
  if (numero < 0) {
      System.out.println("Negativo");
  } else if (numero == 0) {
      System.out.println("Zero");
  } else {
      System.out.println("Positivo");
  }
  i++;
} while (i < 3);

Prós: Útil quando é necessário executar o bloco pelo menos uma vez.

Contras: Pode ser confuso para iniciantes; risco de loop infinito se a condição não for bem controlada.

Resumo

  • Use if-else para condições variadas e flexíveis.
  • Use operador ternário para decisões simples e compactas.
  • Use switch para múltiplas opções baseadas em valores fixos.
  • Use for para repetições com contador definido.
  • Use while para loops condicionais mais flexíveis.
  • Use do while para garantir execução mínima antes da condição.

Gostou do artigo?

Deixe sua dúvida sugestão ou elogio nos comentários e vamos conversar !

Não esqueça de me seguir para não perder as novas publicações sobre tecnologia, desenvolvimento de software e inteligência artificial.

Vamos nos conectar? Veja meu LinkedIn 🚀

Compartilhe
Recomendados para você
NTT DATA - Java e IA para Iniciantes
TONNIE - Java and AI in Europe
Deal - Spring Boot e Angular (17+)
Comentários (0)
Recomendados para vocêWEX - End to End Engineering