Java Enum - Java の例を含む列挙
出典:
FreeCodeCamp Java の 列挙 (列挙または略して
enum ) は、事前定義された定数のセットを含む特殊なデータ型です。通常、enum は、曜日、季節、色など、変更する必要のない値を操作する場合に使用されます。
この記事では、列挙型を作成する方法と、その値を他の変数に割り当てる方法を説明します。
また、 switchステートメントで
列挙型を使用する方法や、その値をループする 方法も学習します。
JavaでEnumを作成する方法
enum を作成するには、
enumキーワードを使用します。
これは、 classキーワードを使用してクラスを作成する方法と似ています。以下に例を示します。
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
このコードでは、 Colorsという
列挙型 を作成しました。
ここでの列挙値はすべて大文字で書かれていることに気づくかもしれませんが、これは単なる一般的な規則です。値を小文字で記述してもエラーは発生しません。
enumの各値はカンマで区切られます。次に、新しい変数を作成し、それに enum の値の 1 つを割り当て
ます。
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public class Main {
public static void main(String[] args) {
Colors red = Colors.RED;
System.out.println(red);
}
}
これは、他の変数の初期化と似ています。ここのコードでは、
Colors変数を初期化し、ドット構文を使用して
enum値の 1 つを割り当てています。
Colors red = Colors.RED; 。
Mainクラス内で列挙型を作成でき、コードは引き続き機能することに注意してください。
public class Main {
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public static void main(String[] args) {
Colors red = Colors.RED;
System.out.println(red);
}
}
いずれかの値の序数を取得したい場合は、
ordinal()メソッドを使用する必要があります。別の例を次に示します。
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() は0 を返します。
Switch ステートメントで Enum を使用する方法
次に、 switchステートメントで
enumを使用する方法を学びます。
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;
}
}
}
これは、 switchステートメントで
enum を 使用する方法を示す非常に簡単な例です。
これがswitchステートメントの条件に一致する唯一のケースであるため、
「色は黄色です」をコンソールに出力できます。
列挙値をループする方法
enum の場合、Java には
enum値の配列を返す
value()メソッドがあります。
foreachループを使用して、
enumの値を反復処理して出力します。次のようにして実行できます。
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public class Main {
public static void main(String[] args) {
for (Colors allColors : Colors.values()) {
System.out.println(allColors);
}
}
}
結論
この記事では、 Java における
列挙型とは何か、列挙型を作成する方法、およびその値を他の変数に割り当てる方法について学びました。
また、 switchステートメントで
enum型を使用する方法と、
enum値をループする方法についても説明しました。コーディングを楽しんでください!
Java の While ループ: 構文と使用法
出典:
Dev.to今日は、Java の
whileループ の概念と構文を理解し、このループを使用して配列を反復処理する方法についても見ていきます。
While ループの概念
whileループはJava の基本的なループ タイプの 1 つであり、プログラム内でさまざまな目的に使用できます。
forループと同様に、
whileループを使用して条件に基づいて操作を実行できます。
whileループでは、カウンターが常にオンになるわけではありません。
whileループの反復回数は、ループ条件が
trueを返す頻度によって異なります。
forループとは異なり、 whileループでの初期化はほとんどの場合オプションです。
whileループが常にループ内で実行されるわけではない場合があります。具体的な例を見てみましょう。
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")
ここで、コードは
whileループを使用して、いくつかの条件に基づいてユーザー入力を検証するため、繰り返しは 1 回だけです。
While ループ構文
while(condition){
}
while ループ条件は、ブール値
trueまたは
falseを返す引数を受け取ります。
trueの場合、
whileループ内のコードが実行されますが、
false の場合、ループが終了します。
各whileループの流れ
whileループには、初期化 > 条件 > ステートメントの実行という受け入れられるフローがあります。最初の段階は初期化段階です。これは、変数を宣言し、初期化することによって実現できます。2 番目のステージは条件ステージであり、このステージは
trueまたは
falseを返す必要があります。
trueを返した場合は
whileループ内のステートメントが実行されますが、
falseを返した場合はループが終了します。
while ループをカウンターとして使用する
forループと同様に、
whileループもカウンターとして使用できます。以下のプログラムは、
whileループを使用して2 から 20 まで繰り返します。これは偶数を出力するためです。
int j = 2;
while(j <=20){
System.out.println(j);
j+=2;
}
ご覧のとおり、プログラムでは
jが 2 に初期化され、 jが 20 以下かどうかが条件でテストされます。
trueが返された場合はステートメントが実行されますが、
falseが返された場合はwhile
ループが終了します。
while ループを使用して配列を反復処理できます。
int[] age = {20, 30, 40, 40, 90};
int i = 0;
while (i < age.length)
{
System.out.println(age[i]);
i++;
}
このコードでは、age 配列があり、
whileループを使用して配列を反復処理し、配列内の各要素を出力します。配列内の要素の総数を確認するには、
age.lengthが使用されます。上記のプログラムでは、
i がインデックスとして機能します。
while ループ内の Break ステートメント
Breakステートメントは、
forループと同様に
whileループでも使用できます。
int i = 1;
while (true)
{
System.out.println(i);
if (i == 20)
{
break;
}
i++;
}
上記のプログラムでは、
breakステートメントを使用してプログラムの実行を無期限に停止しました。
While(true) は、プログラムが常に
trueを返すことを意味します。
while ループを使用してユーザー入力を検証できます
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");
上記のプログラムでは、
whileループを使用してユーザーの入力をチェックし、ユーザーが 1 または 2 のいずれかを選択していることを確認します。ユーザーが別の番号を選択した場合、 System.out.println(
"You Input a lower number"); となります。。
while ループを使用した条件文
int i = 0;
while(i<10){
i++;
if(i==5){
continue;
} System.out.println(i);
}
条件文を
whileループ内で使用して、特定の反復をスキップすることもできます。上記のプログラムでは、
ifステートメントを使用してi==5をチェックし、
trueを返す場合、その特定の反復はスキップされます。
while ループの設計
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");
}
}
}
}
このプログラムでは、 whileループ を使用して数字を推測するゲームを作成します。プレイヤーの試行回数は 10 回のみです。ゲームのプレイ回数が10回を超えるとゲームが終了します。プレイヤーが正しい数字を推測すると、コンソールにおめでとうメッセージが表示されます。
結論
whileループは複雑に見えるかもしれませんが、習得するのはそれほど難しくありません。これは Java で 2 番目によく使用されるループでもあり、さまざまな目的に使用できます。
GO TO FULL VERSION