# Enums em Java: como criar constantes no código

As enums em Java permitem criar variáveis com valores fixos. São escritas em maiúsculas e não podem ser modificadas posteriormente. São utilizadas para melhorar a lógica e a legibilidade do código e, portanto, contribuem para um código limpo.

## O que caracteriza as enums em Java?

As enums Java são um [tipo de dados](https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/tipos-de-dados-java/) que pode ser utilizado dentro de uma classe convencional, mas difere dela num aspeto específico: uma enum é um tipo de variável que tem **opções de valor definidas especificamente, fixas e, portanto, restritas**. Os enums Java são, portanto, constantes que impedem que valores indesejados sejam utilizados dentro de um código. Isso garante a estrutura lógica de um código e aumenta a legibilidade. O termo «enum» vem da palavra inglesa «enumeration», que significa «enumeração» ou «diretório».

## A sintaxe das enums em Java

A sintaxe das enums é sempre estruturada de forma idêntica e tem o seguinte aspecto:

```java
enum nombre_de_la_clase { 
VALOR1, 
VALOR2, 
VALOR3
}
```

Portanto, se quiser definir essa classe, comece com a palavra-chave «enum», que é usada em vez de «classe» ou «interface». Em seguida, atribua um nome à classe especial e coloque entre chaves as constantes autorizadas que desejar. As **constantes** são **sempre** escritas **em maiúsculas** e separadas entre si por vírgulas.

## Exemplo de aula especial

Um exemplo possível de enums é uma lista de meses. Ela contém apenas doze valores possíveis que podem ser criados como constantes. Se, posteriormente, for necessária uma variável do tipo «meses», apenas as constantes definidas serão permitidas. O código deste exemplo seria o seguinte:

```java
enum Meses { 
ENERO, 
FEBRERO, 
MARZO, 
ABRIL, 
MAYO, 
JUNIO, 
JULIO, 
AGOSTO, 
SEPTIEMBRE, 
OCTUBRE, 
NOVIEMBRE, 
DICIEMBRE
}
```

Para declarar uma variável do tipo «Meses», atribua um valor e utilize o comando Java `System.out.println` para a mostrar. O código ficaria assim:

```java
public class Main { 
public static void main(String[] args) { 
Meses mes = Meses.ABRIL; 
System.out.println(mes); 
} 
}
```

## Enums Java dentro de uma classe

Também pode utilizar as enums dentro de uma classe. Com o nosso exemplo anterior, ficaria assim:

```java
public class Main { 
enum Meses { 
ENERO, 
FEBRERO, 
MARZO, 
ABRIL, 
MAYO, 
JUNIO, 
JULIO, 
AGOSTO, 
SEPTIEMBRE, 
OCTUBRE, 
NOVIEMBRE, 
DICIEMBRE
} 
public static void main(String[] args) { 
Meses mes = Meses.ABRIL; 
System.out.println(mes); 
} 
}
```

## O método values para consultar todas as constantes

Se quiser mostrar todos os valores disponíveis, o método `values()` irá ajudá-lo. Este seria o código apropriado para o nosso exemplo:

```java
enum Meses { 
ENERO, 
FEBRERO, 
MARZO, 
ABRIL, 
MAYO, 
JUNIO, 
JULIO, 
AGOSTO, 
SEPTIEMBRE, 
OCTUBRE, 
NOVIEMBRE, 
DICIEMBRE 
} 
public class Main { 
public static void main(String[] args) { 
for (Meses mes : Meses.values()) { 
System.out.println(mes); 
} 
} 
}
```

## Enums com switch

Você também pode combinar as enums com outros métodos. Um exemplo de combinação com `switch()` seria o seguinte:

```java
enum Meses { 
ENERO, 
FEBRERO, 
MARZO, 
ABRIL, 
MAYO, 
JUNIO, 
JULIO, 
AGOSTO, 
SEPTIEMBRE, 
OCTUBRE, 
NOVIEMBRE, 
DICIEMBRE
} 
public class Main { 
public static void main(String[] args) { 
Meses mes = Meses.ABRIL; 
switch (mes) { 
case ABRIL: 
System.out.println("La piscina está cerrada."); 
break; 
case MAI: 
System.out.println("La piscina está cerrada."); 
break; 
case JUNI: 
System.out.println("La piscina te da la bienvenida"); 
break; 
// Ahora puedes probarlo con todos los meses. 
} 
} 
}
```


This is a markdown version of: [https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/enums-em-java/](https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/enums-em-java/) for AI/LLM consumption.