Java Enum - enumeração com exemplos em Java
Fonte:
FreeCodeCamp Uma enumeração (enumeração ou
enum , abreviadamente) em Java é um tipo de dados especial que contém um conjunto de constantes predefinidas. Normalmente, enum é usado ao trabalhar com valores que não precisam ser alterados, como dias da semana, estações, cores e assim por diante.
Neste artigo veremos como criar
um enum e como atribuir seu valor a outras variáveis. Também aprenderemos como usar
um enum em uma instrução
switch ou percorrer seus valores.
Como criar um Enum em Java
Para criar
um enum, usamos a palavra-chave
enum . Isso é semelhante a como você cria uma classe usando a palavra-chave
class . Aqui está um exemplo:
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
Neste código, criamos
um enum chamado
Colors . Você pode notar que todos os valores
enum aqui estão escritos em letras maiúsculas - mas esta é apenas uma convenção geral. Se os valores estiverem escritos em letras minúsculas, não haverá erro. Cada valor em
enum é separado por uma vírgula. A seguir vamos criar uma nova variável e atribuir a ela um dos valores do nosso
enum .
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public class Main {
public static void main(String[] args) {
Colors red = Colors.RED;
System.out.println(red);
}
}
Isso é semelhante a inicializar qualquer outra variável. Aqui no código inicializamos
a variável Colors e atribuímos a ela um dos valores
enum usando a sintaxe de ponto:
Colors red = Colors.RED; . Observe que podemos criar nosso enum dentro da classe
Main e o código ainda funcionará:
public class Main {
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public static void main(String[] args) {
Colors red = Colors.RED;
System.out.println(red);
}
}
Se quisermos obter o número ordinal de qualquer um dos valores, teremos que usar o método
ordinal() . Aqui está outro exemplo:
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public class Main {
public static void main(String[] args) {
Colors red = Colors.RED;
System.out.println(red.ordinal());
}
}
red.ordinal() do código acima retorna 0.
Como usar Enum em uma instrução Switch
Agora aprenderemos como podemos usar
enum em uma instrução
switch :
public class Main {
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public static void main(String[] args) {
Colors myColor = Colors.YELLOW;
switch(myColor) {
case RED:
System.out.println("The color is red");
break;
case BLUE:
System.out.println("The color is blue");
break;
case YELLOW:
System.out.println("The color is yellow");
break;
case GREEN:
System.out.println("The color is green");
break;
}
}
}
Este é um exemplo muito simples de como podemos usar
enum em uma instrução
switch . Podemos enviar
"A cor é amarela" para o console porque este é o único caso que corresponde à condição da instrução
switch .
Como percorrer valores enum
Para enum, Java possui um método
values() que retorna uma matriz de valores
enum . Usaremos um loop
foreach para iterar e imprimir os valores do nosso
enum . Você pode fazer assim:
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public class Main {
public static void main(String[] args) {
for (Colors allColors : Colors.values()) {
System.out.println(allColors);
}
}
}
Conclusão
Neste artigo aprendemos o que é
um enum em Java, como criá-lo e como atribuir seus valores a outras variáveis. Também vimos como usar o tipo
enum com uma instrução
switch e como podemos percorrer valores
enum . Boa codificação!
While Loop em Java: sintaxe e usos
Fonte:
Dev.to Hoje entenderemos o conceito e a sintaxe de um loop
while em Java e também veremos como usar esse loop para iterar por meio de um array.
Enquanto conceito de loop
O loop
while é um dos tipos básicos de loop em Java e pode ser usado para diversos propósitos em um programa. Assim como o loop
for , o loop
while pode ser usado para realizar operações com base em uma condição. Em um loop
while , o contador nem sempre liga. O número de iterações do loop
while depende da frequência com que a condição do loop retorna
true . A inicialização em um loop
while pode ser opcional na maioria dos casos, diferentemente de um loop
for . Às vezes, o loop
while nem sempre é executado em loop. Vejamos um exemplo concreto:
System.out.println("You Input a wrong number");
int i = input.nextInt();
while(i==1||i==2||i==3||i==4){
System.out.println("inside the while loop block");
}
System.out.println("outside the while loop block")
Aqui, o código usa um loop
while para validar a entrada do usuário com base em algumas condições, portanto, ele se repete apenas uma vez.
Sintaxe do loop while
while(condition){
}
A condição do loop
while recebe um argumento que retorna o valor booleano
true ou
false . Quando
verdadeiro, o código no loop
while é executado, mas quando
falso, o loop termina.
Fluxo de cada loop while
O loop
while possui um fluxo aceito: inicialização > condição > execução de instruções. O primeiro estágio é o estágio de inicialização. Isso pode ser feito declarando uma variável e também inicializando-a. O segundo estágio é o estágio de condição, este estágio deve retornar
true ou
false . Se retornar
true , a instrução no loop
while será executada, mas se retornar
false , o loop terminará.
Usando um loop while como contador
Assim como o loop
for , o loop
while também pode ser usado como contador. O programa abaixo usa um loop
while para iterar de 2 a 20. Isso serve para imprimir números pares.
int j = 2;
while(j <=20){
System.out.println(j);
j+=2;
}
Como você pode ver, no programa,
j é inicializado com 2, a condição é testada se
j for menor ou igual a 20. Se retornar
true , a instrução será executada, mas se retornar
false , o loop
while termina.
Um loop while pode ser usado para iterar através de um array
int[] age = {20, 30, 40, 40, 90};
int i = 0;
while (i < age.length)
{
System.out.println(age[i]);
i++;
}
Neste código, temos um array age e um loop
while é usado para iterar pelo array e imprimir cada elemento do array. Para verificar o número total de elementos em um array,
age.length é usado , no programa acima
i serve como índice.
Instrução Break em um loop while
A instrução
break também pode ser usada em um loop
while , assim como um loop
for :
int i = 1;
while (true)
{
System.out.println(i);
if (i == 20)
{
break;
}
i++;
}
No programa acima, a instrução
break foi usada para interromper a execução do programa indefinidamente.
While(true) significa que o programa sempre retornará
true .
O loop while pode ser usado para validar a entrada do usuário
System.out.println("Select an option\n"+
"1.Add Users\n"+
"2.Delete Users");
int x = input.nextInt();
while(x==1||x==2){
}
System.out.println("You Input a wrong number");
No programa acima, um loop
while é usado para verificar a entrada do usuário e garantir que o usuário selecione 1 ou 2. Se o usuário selecionar um número diferente, então
System.out.println("Você inseriu um número errado"); .
Instrução condicional com loop while
int i = 0;
while(i<10){
i++;
if(i==5){
continue;
} System.out.println(i);
}
A instrução condicional também pode ser usada em um loop
while para pular uma iteração específica. No programa acima, a instrução
if for usada para verificar
i==5 , se retornar
true , essa iteração específica será ignorada.
design de loop while
Vamos criar um jogo de adivinhação usando um loop
while .
import java.util.*;
public class Main
{
static Scanner input = new Scanner(System.in);
static boolean hasWon;
static int count;
static int guess;
public static void main (String[] args)
{
System.out.println("Welcome to guess world");
System.out.println("Do you want to start the game? ");
System.out.println("1.Yes\n" +
"2.No");
int option= input.nextInt();
int guessNumber = (int) Math.floor(Math.random() * 10 + 1);
if (!( option == 2 ))
{
System.out.println("Welcome, choose a guess between 1 and 10\n" +
"you have only ten trials");
while (count <= 10)
{
int userGuess = input.nextInt();
if (userGuess == guessNumber)
{
hasWon = true;
System.out.println("Congratulation, you guessed right at " + count + " count");
count++;
break;
}
else if (userGuess < guessNumber)
{
hasWon = false;
System.out.println("Oops, you guessed a lower number, try an higher one");
count++;
}
else if (userGuess > guessNumber)
{
System.out.println("Oops, you guessed an high number, try an lower one");
hasWon = false;
}
}
if (hasWon == false)
{
System.out.println("You trials exceeds 10");
}
}
}
}
Neste programa, criamos um jogo de adivinhação de números usando um loop
while . O jogador tem apenas 10 tentativas. Quando o número de vezes que ele jogou o jogo exceder 10, o jogo termina. Se o jogador adivinhar o número correto, uma mensagem de parabéns será exibida no console.
Conclusão
O loop
while pode parecer complicado, mas não é tão difícil de dominar. É também o segundo loop mais comumente usado em Java e pode ser usado para diversos propósitos.
GO TO FULL VERSION