Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

자바(Java)로 문자가 알파벳인지 확인하는 방법

이 글에서는 자바(Java)에서 주어진 문자가 알파벳인지 아닌지를 판별하는 방법을 알아보겠습니다. 핵심 원리는 간단합니다. 해당 문자가 소문자 'a' ~ 'z' 또는 대문자 'A' ~ 'Z' 범위 안에 속하는지 비교 연산자로 검사하면 됩니다.

실행 예시

입력

문자를 입력하세요: H

출력

문자 H는 알파벳입니다.

알고리즘

STEP 1 - 프로그램 시작
STEP 2 - 문자형 변수 my_input 선언
STEP 3 - 사용자로부터 값 입력받기 또는 미리 값 정의하기
STEP 4 - if-else 조건문과 비교 연산자 '>=' , '<=' 를 사용하여 입력값이 'a'와 'z' 사이 또는 'A'와 'Z' 사이에 있는지 검사. 조건이 참이면 알파벳, 거짓이면 알파벳이 아님
STEP 5 - 결과 출력
STEP 6 - 프로그램 종료

예제 1: 사용자 입력으로 확인하기

다음 예제는 Scanner를 사용해 사용자로부터 문자를 직접 입력받아 알파벳 여부를 판별합니다.

import java.util.Scanner;
public class Alphabet {
   public static void main(String[] args) {
      char my_input;
      System.out.println("필요한 패키지를 가져왔습니다");
      Scanner my_scanner = new Scanner(System.in);
      System.out.println("Scanner 객체가 생성되었습니다");
      System.out.print("문자를 입력하세요 : ");
      my_input = my_scanner.next().charAt(0);
      if( (my_input >= 'a' && my_input <= 'z') || (my_input >= 'A' && my_input <= 'Z'))
         System.out.println("문자 " +my_input + " 는 알파벳입니다");
      else
         System.out.println("문자 " +my_input + " 는 알파벳이 아닙니다");
   }
}

출력 결과

필요한 패키지를 가져왔습니다
Scanner 객체가 생성되었습니다
문자를 입력하세요 : H
문자 H 는 알파벳입니다

예제 2: 미리 정의된 값으로 확인하기

다음 예제는 값을 코드에 미리 정의해 두고, 그 값을 콘솔에 출력하며 알파벳 여부를 판별합니다.

public class Alphabet {
   public static void main(String[] args) {
      char my_input;
      my_input = 'H';
      System.out.println("정의된 문자 : " +my_input);
      if( (my_input >= 'a' && my_input <= 'z') || (my_input >= 'A' && my_input <= 'Z'))
         System.out.println("문자 " +my_input + " 는 알파벳입니다.");
      else
         System.out.println("문자 " +my_input + " 는 알파벳이 아닙니다.");
   }
}

출력 결과

정의된 문자 : H
문자 H 는 알파벳입니다.

참고: Character.isLetter() 메서드 활용

비교 연산자 대신 자바에서 기본 제공하는 Character.isLetter() 메서드를 사용하면 더욱 간결하게 처리할 수 있습니다. 이 메서드는 유니코드 기준의 모든 문자(한글 등)도 판별할 수 있다는 장점이 있습니다.

if(Character.isLetter(my_input))
   System.out.println("문자 " + my_input + " 는 알파벳입니다");
else
   System.out.println("문자 " + my_input + " 는 알파벳이 아닙니다");

마무리

정리하면, 문자가 알파벳인지 확인하는 방법은 크게 두 가지입니다. 첫째, 비교 연산자를 사용해 'a'~'z', 'A'~'Z' 범위를 직접 검사하는 방법이고, 둘째, Character.isLetter() 같은 표준 라이브러리 메서드를 활용하는 방법입니다. 영어 알파벳만 판별하려면 첫 번째 방법이 적합하고, 다양한 언어의 문자까지 포괄하려면 두 번째 방법을 사용하는 것이 좋습니다.