안녕하세요 열코입니다.

이번 시간에는 자바의 기본 입력 클래스인 스캐너(Scanner) 클래스에 대해 알아보도록 하겠습니다.

자바의 스캐너 클래스는 java.util 패키지 내에 존재하는 클래스로,

정수(int), 실수(double)등의 기본적인 데이터 타입 입력을 받기위한 클래스입니다.

자바에서 콘솔(Console)의 표준 입력의 대표 클래스로, 가장 간단하고 쉬운 방법으로 읽어 올 수 있습니다.

그러나 많은 양과 다수의 회수의 입력을 받아야 할 때에는 추천하지 않는 클래스입니다.

이에대한 자세한 설명은 추후에 설명하도록 하겠습니다.


스캐너 클래스를 사용하기 위해서는 다음과 같은 사항에 주의해야합니다.

1. 스캐너 클래스의 객체를 만들려면 표준 입력 스트림을 나타내는 System.in이라는 이미 정의 되어있는 객체를

전달해야 합니다. (파일로부터의 입력은 File 클래스의 객체를 전달할 수도 있습니다.)

2. 특정 데이터 유형의 값을 읽기 위해 사용하는 함수는 next~() 함수입니다.

예를들어, nextInt(), nextDouble() 등과 같은 함수를 사용할 수 있습니다.

3. 문자열, 한줄(엔터키 기준으로)을 모두 읽기 위해서는 nextLine() 함수를 사용할 수 있습니다.

4. 단일 문자(char)를 읽기 위해서 next()와 charAt() 함수를 함께 사용할 수 있습니다.



다음은 여러 데이터 유형의 입력을 받는 스캐너 클래스의 예제 소스코드입니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.util.Scanner;
 
public class myScanner
{
    public static void main(String[] args)
    {
        Scanner scanner = new Scanner(System.in);
 
        int i = scanner.nextInt();
        char c = scanner.next().charAt(0);
        long l = scanner.nextLong();
        double d = scanner.nextDouble();
        String s = scanner.nextLine();
    
        System.out.println("int : " + i);
        System.out.println("char : " + c);
        System.out.println("long : " + l);
        System.out.println("double : " + d);
        System.out.println("string : " + s);
    }
}
cs


또한 스캐너에 대해 입력이 있는지 확인하는 hasNext~() 함수를 사용하여,

원하는 만큼 입력을 받을 수도 있습니다.

다음은 hasNextInt() 함수를 사용한 예제 소스코드입니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.util.Scanner;
 
public class myScanner
{
    public static void main(String[] args)
    {
        Scanner scanner = new Scanner(System.in);
 
        int i = 0;
 
        while(scanner.hasNextInt())
        {
            int num = scanner.nextInt();
            i += num;
        }
 
        System.out.println("total : " + i);
    }
}
cs



이상 '자바 Scanner 클래스'에 대해 알아보았습니다.

질문 또는 오타나 잘못된 정보가 있는 경우 댓글로 달아주세요!

메인 페이지로 이동하시면 더 많은 자료를 볼 수 있습니다.


'Java' 카테고리의 다른 글

구글, 파파고 번역 API 성능 비교  (1) 2019.09.18
google translate api v3 사용법  (1) 2019.09.16
java spring pwa fcm web push 구현  (2) 2019.09.10
Object 클래스에 대해  (0) 2018.11.04
자바 상속  (0) 2018.10.17
자바 싱글톤 클래스(Singleton class)  (3) 2018.10.16
자바 Wrapper Class  (0) 2018.10.15
자바 파일 입출력  (0) 2018.10.04

to Top