Java Enum - wyliczenie z przykładami w Javie
Źródło:
FreeCodeCamp Wyliczenie (w skrócie wyliczenie lub
wyliczenie ) w Javie to specjalny typ danych, który zawiera zestaw predefiniowanych stałych. Zazwyczaj wyliczenie jest używane podczas pracy z wartościami, których nie trzeba zmieniać, takimi jak dni tygodnia, pory roku, kolory i tak dalej.
W tym artykule zobaczymy, jak utworzyć
wyliczenie i jak przypisać jego wartość do innych zmiennych. Dowiemy się również, jak używać
wyliczenia w instrukcji
switch lub przeglądać jej wartości.
Jak utworzyć wyliczenie w Javie
Aby utworzyć
wyliczenie, używamy słowa kluczowego
enum . Przypomina to tworzenie klasy za pomocą słowa kluczowego
class . Oto przykład:
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
W tym kodzie utworzyliśmy
wyliczenie o nazwie
Colors . Możesz zauważyć, że wszystkie wartości
wyliczeniowe są tutaj pisane wielkimi literami - jest to jednak tylko ogólna konwencja. Jeśli wartości zostaną zapisane małymi literami, nie będzie błędu. Każda wartość w
wyliczeniu jest oddzielona przecinkiem. Następnie utworzymy nową zmienną i przypiszemy jej jedną z wartości naszego
wyliczenia .
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public class Main {
public static void main(String[] args) {
Colors red = Colors.RED;
System.out.println(red);
}
}
Przypomina to inicjalizację dowolnej innej zmiennej. Tutaj w kodzie zainicjowaliśmy zmienną
Colors i przypisaliśmy jej jedną z wartości
wyliczeniowych , korzystając ze składni kropki:
Colors red = Colors.RED; . Zauważ, że możemy utworzyć nasze wyliczenie wewnątrz klasy
Main , a kod nadal będzie działał:
public class Main {
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public static void main(String[] args) {
Colors red = Colors.RED;
System.out.println(red);
}
}
Jeśli chcemy uzyskać liczbę porządkową którejkolwiek z wartości, będziemy musieli skorzystać z metody
ordinal() . Oto kolejny przykład:
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() z powyższego kodu zwraca 0.
Jak używać Enum w instrukcji Switch
Teraz dowiemy się, jak możemy użyć
wyliczenia w instrukcji
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;
}
}
}
To bardzo prosty przykład użycia
wyliczenia w instrukcji
switch . Możemy wypisać na konsolę
komunikat „Kolor jest żółty”, ponieważ jest to jedyny przypadek spełniający warunek instrukcji
switch .
Jak przeglądać wartości wyliczeniowe w pętli
W przypadku wyliczenia Java posiada metodę
wartości() , która zwraca tablicę wartości
wyliczeniowych . Zamierzamy użyć pętli
foreach do iteracji i wydrukowania wartości naszego
wyliczenia . Możesz to zrobić w ten sposób:
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public class Main {
public static void main(String[] args) {
for (Colors allColors : Colors.values()) {
System.out.println(allColors);
}
}
}
Wniosek
W tym artykule dowiedzieliśmy się, czym jest
wyliczenie w Javie, jak je utworzyć i jak przypisać jego wartości do innych zmiennych. Zobaczyliśmy także, jak używać typu
wyliczeniowego w instrukcji
switch i jak możemy przeglądać wartości
wyliczeniowe w pętli . Miłego kodowania!
Podczas gdy pętla w Javie: składnia i zastosowania
Źródło:
Dev.to Dzisiaj zrozumiemy koncepcję i składnię pętli
while w Javie, a także przyjrzymy się, jak używać tej pętli do iteracji po tablicy.
Koncepcja pętli
Pętla
while jest jednym z podstawowych typów pętli w Javie i może być wykorzystywana w programie do różnych celów. Podobnie jak pętla
for , pętla
while może służyć do wykonywania operacji na podstawie warunku. W pętli
while licznik nie zawsze się włącza. Liczba iteracji pętli
while zależy od tego, jak często warunek pętli zwraca
wartość true . Inicjalizacja w pętli
while może być w większości przypadków opcjonalna, w przeciwieństwie do pętli
for . Czasami pętla
while nie zawsze jest wykonywana w pętli. Weźmy konkretny przykład:
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")
W tym przypadku kod wykorzystuje pętlę
while do sprawdzania poprawności danych wprowadzonych przez użytkownika na podstawie pewnych warunków, więc powtarza się tylko raz.
Składnia pętli while
while(condition){
}
Warunek pętli
while przyjmuje argument, który zwraca wartość logiczną
true lub
false . Jeśli ma
wartość true , wykonywany jest kod w pętli
while , natomiast w przypadku wartości false pętla się kończy.
Przepływ każdej pętli while
W pętli
while akceptowany jest przebieg: inicjalizacja > warunek > wykonanie instrukcji. Pierwszy etap to etap inicjalizacji. Można to osiągnąć poprzez zadeklarowanie zmiennej, a także jej inicjalizację. Drugi etap to etap warunku, ten etap musi zwrócić wartość
true lub
false . Jeśli zwróci
wartość true , wykonywana jest instrukcja w pętli
while , natomiast jeśli zwróci
wartość false , pętla się zakończy.
Używanie pętli while jako licznika
Podobnie jak pętla
for , pętla
while może być również używana jako licznik. Poniższy program używa pętli
while do iteracji od 2 do 20. Ma to na celu wyświetlenie liczb parzystych.
int j = 2;
while(j <=20){
System.out.println(j);
j+=2;
}
Jak widać, w programie
j jest inicjowane na 2, warunek jest testowany, jeśli
j jest mniejsze lub równe 20. Jeśli zwróci wartość
true , instrukcja zostanie wykonana, natomiast jeśli zwróci wartość
false , pętla
while się zakończy.
Do iteracji po tablicy można użyć pętli while
int[] age = {20, 30, 40, 40, 90};
int i = 0;
while (i < age.length)
{
System.out.println(age[i]);
i++;
}
W tym kodzie mamy tablicę wieku, a pętla
while służy do iteracji po tablicy i wypisywania każdego elementu tablicy. Aby sprawdzić całkowitą liczbę elementów w tablicy, używana jest
funkcja age.length , w powyższym programie
i służy jako indeks.
Instrukcja break w pętli while
Instrukcji
break można także użyć w pętli
while , podobnie jak w pętli
for :
int i = 1;
while (true)
{
System.out.println(i);
if (i == 20)
{
break;
}
i++;
}
W powyższym programie instrukcja
break została użyta do zatrzymania wykonywania programu na czas nieokreślony.
While(true) oznacza, że program zawsze zwróci
true .
Pętli while można użyć do sprawdzenia poprawności danych wprowadzonych przez użytkownika
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");
W powyższym programie pętla
while służy do sprawdzenia danych wprowadzonych przez użytkownika i upewnienia się, że wybrał on 1 lub 2. Jeśli użytkownik wybierze inną liczbę, nastąpi
System.out.println("Wpisałeś złą liczbę"); .
Instrukcja warunkowa z pętlą while
int i = 0;
while(i<10){
i++;
if(i==5){
continue;
} System.out.println(i);
}
Instrukcji warunkowej można także użyć w pętli
while , aby pominąć określoną iterację. W powyższym programie,
jeśli instrukcja zostanie użyta do sprawdzenia
i==5 i zwróci wartość
true , wówczas ta konkretna iteracja zostanie pominięta.
podczas projektowania pętli
Stwórzmy grę polegającą na zgadywaniu za pomocą pętli
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");
}
}
}
}
W tym programie tworzymy grę polegającą na zgadywaniu liczb za pomocą pętli
while . Gracz ma tylko 10 prób. Gdy liczba rozegranych przez niego gier przekroczy 10, gra się kończy. Jeśli gracz odgadnie poprawną liczbę, na konsoli wyświetli się komunikat z gratulacjami.
Wniosek
Pętla
while może wydawać się skomplikowana, ale opanowanie jej nie jest takie trudne. Jest to także druga najczęściej używana pętla w Javie i może być wykorzystywana do różnych celów.
GO TO FULL VERSION