Java Enum - Java 예제가 포함된 열거형
출처:
FreeCodeCamp Java의 열거형(열거형 또는 줄여서
열거형 )은 미리 정의된 상수 집합을 포함하는 특수 데이터 유형입니다. 일반적으로 enum은 요일, 계절, 색상 등과 같이 변경할 필요가 없는 값으로 작업할 때 사용됩니다.
이번 글에서는 열거형을 생성하는 방법 과 그 값을 다른 변수에 할당하는 방법을 살펴보겠습니다.
또한 스위치 문 에서
열거형을 사용 하거나 해당 값을 반복하는 방법도 알아봅니다 .
Java에서 Enum을 만드는 방법
열거형을 생성하려면
enum 키워드를 사용합니다 .
이는 class 키워드를 사용하여 클래스를 만드는 방법과 유사합니다 . 예는 다음과 같습니다.
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
이 코드에서는 Colors 라는
열거형을 만들었습니다 .
여기에 있는 모든 열거형 값은 대문자로 작성되어 있음을 알 수 있지만 이는 일반적인 규칙일 뿐입니다. 값을 소문자로 쓰면 오류가 발생하지 않습니다.
enum 의 각 값은 쉼표로 구분됩니다.
다음으로 새 변수를 생성하고 여기에 enum 값 중 하나를 할당하겠습니다 .
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 값 중 하나를 할당했습니다 .
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을 사용하는 방법
이제 스위치 문 에서
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;
}
}
}
이것은 스위치 문 에서
enum을 사용하는 방법에 대한 매우 간단한 예입니다 .
스위치 문의 조건과 일치하는 유일한 경우이기 때문에
"The color is yellow"를 콘솔에 출력할 수 있습니다 .
열거형 값을 반복하는 방법
열거형의 경우 Java에는
열거형 값 의 배열을 반환하는
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에서
enum이 무엇인지 , 어떻게 생성하는지, 그 값을 다른 변수에 할당하는 방법을 배웠습니다.
또한 스위치 문과 함께
enum 유형을 사용하는 방법 과
enum 값을 반복하는 방법도 살펴보았습니다 . 즐거운 코딩하세요!
Java의 While 루프: 구문 및 사용
출처:
Dev.to 오늘 우리는 Java의 while 루프 의 개념과 구문을 이해 하고 이 루프를 사용하여 배열을 반복하는 방법도 살펴보겠습니다.
While 루프 개념
while 루프는 Java의 기본 루프 유형 중 하나이며 프로그램에서 여러 목적으로 사용될 수 있습니다.
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 루프를 사용하여 일부 조건에 따라 사용자 입력의 유효성을 검사하므로 한 번만 반복됩니다.
while 루프 구문
while(condition){
}
while 루프 조건은 부울 값
true 또는
false를 반환하는 인수를 사용합니다 .
true 이면
while 루프 의 코드가 실행되지만
false 이면 루프가 종료됩니다.
각 while 루프의 흐름
while 루프에는 초기화 > 조건 > 명령문 실행이라는 허용된 흐름이 있습니다. 첫 번째 단계는 초기화 단계입니다. 변수를 선언하고 초기화하여 수행할 수 있습니다. 두 번째 단계는 조건 단계이며, 이 단계는
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잘못된 숫자"); .
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에서 두 번째로 가장 일반적으로 사용되는 루프이며 다양한 목적으로 사용될 수 있습니다.
GO TO FULL VERSION