[JAVA] Scanner

김다은·2024년 9월 2일

JAVA

목록 보기
10/14
post-thumbnail

Scanner란

Java에서 기본 제공되는 클래스 중 하나로, 표준 입력 스트림(키보드 입력), 파일, 문자열 등 다양한 입력 소스로부터 데이터를 읽어오는 데 사용된다.
Scanner 클래스는 java.util 패키지에 포함되어 있으며, 사용자가 입력한 데이터를 프로그램 내에서 쉽게 처리할 수 있도록 도와준다.

주요 특징 및 기능

1. 다양한 입력 소스 지원

  • 표준 입력 (System.in) : 콘솔(키보드)에서 입력을 받을 때 사용.
  • 파일 : 파일에서 데이터를 읽어올 때 사용.
  • 문자열 : 특정 문자열을 입력 소스로 처리할 때 사용.

2. 입력 데이터의 구분 (Delimiter)

  • 기본적으로 Scanner는 공백(스페이스, 탭, 줄 바꿈 등)을 기준으로 입력을 구분한다.
  • useDelimiter() 메서드를 사용하여 구분자를 커스터마이징할 수 있음.

3. 다양한 데이터 타입 읽기

Scanner는 다양한 데이터 타입을 직접 읽어올 수 있는 메서드를 제공한다.

  • nextInt() : 정수(int)를 입력받는다.
  • nextDouble() : 실수(double)를 입력받는다.
  • nextLine() : 한 줄 전체를 문자열로 반환한다.
  • next() : 공백을 기준으로 단어 하나를 입력받는다.

4. 입력 유효성 검사

Scanner는 입력된 데이터가 특정 타입인지 확인할 수 있다.

  • hasNextInt() : 다음 입력이 정수인지 확인
  • hasNextDouble() : 다음 입력이 실수인지 확인
  • hasNextLine() : 다음 줄이 있는지 확인
  • hasNext() : 공백을 기준으로 다음 입력이 있는지 확인

코드 예시

import java.util.Scanner;

public class Example {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        System.out.print("Enter an integer: ");
        int intValue = sc.nextInt(); // 정수를 입력받음
        System.out.println("You entered: " + intValue);

        System.out.print("Enter a double: ");
        double doubleValue = sc.nextDouble(); // 실수를 입력받음
        System.out.println("You entered: " + doubleValue);

        sc.nextLine(); // 한 줄 전체를 입력받아 문자열로 반환

        System.out.print("Enter a string: ");
        String stringValue = sc.nextLine();
        System.out.println("You entered: " + stringValue);
        
        // Scanner를 닫음. (자원 해제를 위해 사용)
        sc.close();
    }
}
profile
꾸준함으로 성취하는 개발자

0개의 댓글