Java Enum: enumeración con ejemplos en Java
Fuente:
FreeCodeCamp Una enumeración (enumeración o
enumeración para abreviar) en Java es un tipo de datos especial que contiene un conjunto de constantes predefinidas. Normalmente, enum se utiliza cuando se trabaja con valores que no es necesario cambiar, como días de la semana, estaciones, colores, etc.
En este artículo, veremos cómo crear
una enumeración y cómo asignar su valor a otras variables. También aprenderemos cómo usar
una enumeración en una declaración
de cambio o recorrer sus valores.
Cómo crear una enumeración en Java
Para crear
una enumeración utilizamos la palabra clave
enum . Esto es similar a cómo se crea una clase usando la palabra clave
class . He aquí un ejemplo:
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
En este código, hemos creado
una enumeración llamada
Colores . Puede notar que todos los valores
de enumeración aquí están escritos en mayúsculas, pero esto es solo una convención general. Si los valores se escriben en minúsculas no habrá ningún error. Cada valor en
enumeración está separado por una coma. A continuación vamos a crear una nueva variable y le asignaremos uno de los valores de nuestra
enumeración .
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public class Main {
public static void main(String[] args) {
Colors red = Colors.RED;
System.out.println(red);
}
}
Esto es similar a inicializar cualquier otra variable. Aquí en el código hemos inicializado
la variable Colores y le hemos asignado uno de
los valores de enumeración usando la sintaxis de puntos:
Colores rojo = Colores.RED; . Tenga en cuenta que podemos crear nuestra enumeración dentro de la clase
Main y el código seguirá funcionando:
public class Main {
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public static void main(String[] args) {
Colors red = Colors.RED;
System.out.println(red);
}
}
Si queremos obtener el número ordinal de alguno de los valores, tendremos que utilizar el método
ordinal() . Aquí hay otro ejemplo:
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() del código anterior devuelve 0.
Cómo usar Enum en una declaración Switch
Ahora aprenderemos cómo podemos usar
enum en una declaración
de cambio :
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 es un ejemplo muy simple de cómo podemos usar
enum en una declaración
de cambio . Podemos enviar
"El color es amarillo" a la consola porque este es el único caso que coincide con la condición de la declaración
de cambio .
Cómo recorrer los valores de enumeración
Para enum, Java tiene un método
de valores () que devuelve una matriz de valores
de enumeración . Usaremos un bucle
foreach para iterar e imprimir los valores de nuestra
enumeración . Puedes hacerlo así:
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public class Main {
public static void main(String[] args) {
for (Colors allColors : Colors.values()) {
System.out.println(allColors);
}
}
}
Conclusión
En este artículo, aprendimos qué es
una enumeración en Java, cómo crear una y cómo asignar sus valores a otras variables. También vimos cómo usar el tipo
enum con una instrucción
switch y cómo podemos recorrer los valores
enum . ¡Feliz codificación!
Mientras bucle en Java: sintaxis y usos
Fuente:
Dev.to Hoy entenderemos el concepto y la sintaxis de un bucle
while en Java y también veremos cómo utilizar este bucle para iterar a través de una matriz.
Mientras que el concepto de bucle
El bucle
while es uno de los tipos de bucle básicos en Java y puede usarse para varios propósitos en un programa. Al igual que el bucle
for , el bucle
while se puede utilizar para realizar operaciones basadas en una condición. En un bucle
while , el contador no siempre se enciende. El número de iteraciones del bucle
while depende de la frecuencia con la que la condición del bucle devuelve
verdadero . La inicialización en un bucle
while puede ser opcional en la mayoría de los casos, a diferencia de un bucle
for . A veces, el bucle
while no siempre se ejecuta en un bucle. Tomemos un ejemplo 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")
Aquí el código utiliza un bucle
while para validar la entrada del usuario en función de algunas condiciones, por lo que se repite solo una vez.
Mientras que la sintaxis del bucle
while(condition){
}
La condición del bucle
while toma un argumento que devuelve el valor booleano
verdadero o
falso . Cuando
es verdadero, se ejecuta el código en el bucle
while , pero cuando es falso, el bucle finaliza.
Flujo de cada bucle while
El bucle
while tiene un flujo aceptado: inicialización > condición > ejecución de declaraciones. La primera etapa es la etapa de inicialización. Se puede lograr declarando una variable y también inicializándola. La segunda etapa es la etapa de condición, esta etapa debe devolver
verdadero o
falso . Si devuelve
verdadero , se ejecuta la declaración en el ciclo
while , pero si devuelve
falso , el ciclo finaliza.
Usando un bucle while como contador
Al igual que el bucle
for , el bucle
while también se puede utilizar como contador. El siguiente programa utiliza un bucle
while para iterar del 2 al 20. Esto es para imprimir números pares.
int j = 2;
while(j <=20){
System.out.println(j);
j+=2;
}
Como puede ver, en el programa,
j se inicializa a 2, la condición se prueba si
j es menor o igual a 20. Si devuelve
verdadero , la declaración se ejecuta, pero si devuelve
falso , el ciclo
while finaliza.
Se puede utilizar un bucle while para iterar a través de una matriz.
int[] age = {20, 30, 40, 40, 90};
int i = 0;
while (i < age.length)
{
System.out.println(age[i]);
i++;
}
En este código, tenemos una matriz de edad y se usa un bucle
while para recorrer la matriz e imprimir cada elemento de la matriz. Para verificar el número total de elementos en una matriz, se usa
age.length , en el programa anterior
i sirve como índice.
Romper declaración en un bucle while
La declaración
break también se puede utilizar en un bucle
while , al igual que un bucle
for :
int i = 1;
while (true)
{
System.out.println(i);
if (i == 20)
{
break;
}
i++;
}
En el programa anterior, la instrucción
break se utilizó para detener la ejecución indefinida del programa.
Mientras que (verdadero) significa que el programa siempre devolverá
verdadero .
El bucle while se puede utilizar para validar la entrada del usuario.
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");
En el programa anterior, se utiliza un bucle
while para verificar la entrada del usuario y garantizar que seleccione 1 o 2. Si el usuario selecciona un número diferente, entonces
System.out.println("Ingresó un número incorrecto"); .
Declaración condicional con bucle while
int i = 0;
while(i<10){
i++;
if(i==5){
continue;
} System.out.println(i);
}
La declaración condicional también se puede utilizar en un bucle
while para omitir una iteración específica. En el programa anterior,
si se usa una declaración para verificar
i==5 , si devuelve
verdadero , se omitirá esa iteración en particular.
mientras diseño de bucle
Creemos un juego de adivinanzas usando un bucle
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");
}
}
}
}
En este programa, creamos un juego de adivinanzas de números usando un bucle
while . El jugador tiene sólo 10 intentos. Una vez que el número de veces que ha jugado supera las 10, el juego finaliza. Si el jugador adivina el número correcto, se muestra un mensaje de felicitación en la consola.
Conclusión
El bucle
while puede parecer complicado, pero no es tan difícil de dominar. También es el segundo bucle más utilizado en Java y puede utilizarse para diversos fines.
GO TO FULL VERSION