Java Enum - enumerazione con esempi in Java
Fonte:
FreeCodeCamp Un'enumerazione (enumerazione o
enum in breve) in Java è un tipo di dati speciale che contiene un insieme di costanti predefinite. In genere, enum viene utilizzato quando si lavora con valori che non devono essere modificati, come giorni della settimana, stagioni, colori e così via.
In questo articolo vedremo come creare
un'enumerazione e come assegnarne il valore ad altre variabili. Impareremo anche come utilizzare
un'enumerazione in un'istruzione
switch o scorrere i suoi valori.
Come creare un'enumerazione in Java
Per creare
un'enumerazione utilizziamo la parola chiave
enum . Questo è simile a come crei una classe utilizzando la parola chiave
class . Ecco un esempio:
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
In questo codice abbiamo creato
un'enumerazione chiamata
Colors . Potresti notare che tutti i valori
enum qui sono scritti in maiuscolo, ma questa è solo una convenzione generale. Se i valori sono scritti in minuscolo non si verificherà alcun errore. Ogni valore in
enum è separato da una virgola. Successivamente creeremo una nuova variabile e le assegneremo uno dei valori della nostra
enum .
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public class Main {
public static void main(String[] args) {
Colors red = Colors.RED;
System.out.println(red);
}
}
Questo è simile all'inizializzazione di qualsiasi altra variabile. Qui nel codice abbiamo inizializzato
la variabile Colors e le abbiamo assegnato uno dei valori
enum utilizzando la sintassi del punto:
Colors red = Colors.RED; . Nota che possiamo creare la nostra enumerazione all'interno della classe
Main e il codice continuerà a funzionare:
public class Main {
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public static void main(String[] args) {
Colors red = Colors.RED;
System.out.println(red);
}
}
Se vogliamo ottenere il numero ordinale di uno qualsiasi dei valori, dovremo utilizzare il metodo
ordinal() . Ecco un altro esempio:
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() dal codice precedente restituisce 0.
Come utilizzare Enum in un'istruzione Switch
Ora impareremo come utilizzare
enum in un'istruzione
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;
}
}
}
Questo è un esempio molto semplice di come possiamo utilizzare
enum in un'istruzione
switch . Possiamo inviare
"Il colore è giallo" alla console perché questo è l'unico caso che corrisponde alla condizione dell'istruzione
switch .
Come scorrere i valori enum
Per enum, Java dispone di un
metodovalue() che restituisce un array di valori
enum . Utilizzeremo un ciclo
foreach per scorrere e stampare i valori del nostro
enum . Puoi farlo in questo modo:
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public class Main {
public static void main(String[] args) {
for (Colors allColors : Colors.values()) {
System.out.println(allColors);
}
}
}
Conclusione
In questo articolo abbiamo imparato cos'è
un'enumerazione in Java, come crearne una e come assegnare i suoi valori ad altre variabili. Abbiamo anche visto come utilizzare il tipo
enum con un'istruzione
switch e come scorrere i valori
enum . Buona programmazione!
While Loop in Java: sintassi e usi
Fonte:
Dev.to Oggi comprenderemo il concetto e la sintassi di un ciclo
while in Java e vedremo anche come utilizzare questo ciclo per scorrere un array.
Mentre il concetto di ciclo
Il ciclo
while è uno dei tipi di ciclo di base in Java e può essere utilizzato per diversi scopi in un programma. Come il ciclo
for , il ciclo
while può essere utilizzato per eseguire operazioni in base a una condizione. In un ciclo
while , il contatore non si accende sempre. Il numero di iterazioni del ciclo
while dipende dalla frequenza con cui la condizione del ciclo restituisce
true . L'inizializzazione in un ciclo
while può essere facoltativa nella maggior parte dei casi, a differenza di un ciclo
for . A volte il ciclo
while non viene sempre eseguito in un ciclo. Facciamo un esempio 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")
Qui il codice utilizza un ciclo
while per convalidare l'input dell'utente in base ad alcune condizioni, quindi si ripete solo una volta.
Sintassi del ciclo while
while(condition){
}
La condizione del ciclo
while accetta un argomento che restituisce il valore booleano
true o
false . Quando
è vero viene eseguito il codice nel ciclo
while , quando è
falso il ciclo termina.
Flusso di ciascun ciclo while
Il ciclo
while ha un flusso accettato: inizializzazione > condizione > esecuzione delle istruzioni. La prima fase è la fase di inizializzazione. Può essere realizzato dichiarando una variabile e anche inizializzandola. La seconda fase è la fase della condizione, questa fase deve restituire
true o
false . Se restituisce
true , l'istruzione nel ciclo
while viene eseguita, ma se restituisce
false , il ciclo termina.
Utilizzo di un ciclo while come contatore
Come il ciclo
for , anche il ciclo
while può essere utilizzato come contatore. Il programma seguente utilizza un ciclo
while per scorrere da 2 a 20. Questo serve per stampare i numeri pari.
int j = 2;
while(j <=20){
System.out.println(j);
j+=2;
}
Come puoi vedere, nel programma
j è inizializzato a 2, la condizione viene testata se
j è inferiore o uguale a 20. Se restituisce
true , l'istruzione viene eseguita, ma se restituisce
false , il ciclo
while termina.
Un ciclo while può essere utilizzato per scorrere un array
int[] age = {20, 30, 40, 40, 90};
int i = 0;
while (i < age.length)
{
System.out.println(age[i]);
i++;
}
In questo codice abbiamo un array age e un ciclo
while viene utilizzato per scorrere l'array e stampare ogni elemento nell'array. Per verificare il numero totale di elementi in un array, viene utilizzato
age.length , nel programma precedente
i funge da indice.
Interrompe l'istruzione in un ciclo while
L' istruzione
break può essere utilizzata anche in un ciclo
while , proprio come un ciclo
for :
int i = 1;
while (true)
{
System.out.println(i);
if (i == 20)
{
break;
}
i++;
}
Nel programma precedente, l' istruzione
break veniva utilizzata per interrompere l'esecuzione del programma a tempo indeterminato.
While(true) significa che il programma restituirà sempre
true .
Il ciclo while può essere utilizzato per convalidare l'input dell'utente
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");
Nel programma precedente, viene utilizzato un ciclo
while per controllare l'input dell'utente e assicurarsi che l'utente selezioni 1 o 2. Se l'utente seleziona un numero diverso,
System.out.println("Hai inserito un numero sbagliato"); .
Istruzione condizionale con ciclo while
int i = 0;
while(i<10){
i++;
if(i==5){
continue;
} System.out.println(i);
}
L'istruzione condizionale può essere utilizzata anche in un ciclo
while per saltare un'iterazione specifica. Nel programma sopra,
se l'istruzione viene utilizzata per controllare
i==5 , se restituisce
true , quella particolare iterazione verrà saltata.
mentre il design del ciclo
Creiamo un gioco d'ipotesi utilizzando un ciclo
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");
}
}
}
}
In questo programma creiamo un gioco di ipotesi di numeri utilizzando un ciclo
while . Il giocatore ha solo 10 tentativi. Una volta che il numero di volte in cui ha giocato supera 10, il gioco finisce. Se il giocatore indovina il numero corretto, sulla console viene visualizzato un messaggio di congratulazioni.
Conclusione
Il ciclo
while può sembrare complicato, ma non è così difficile da padroneggiare. È anche il secondo ciclo più comunemente utilizzato in Java e può essere utilizzato per diversi scopi.
GO TO FULL VERSION