일단 시작해보는 블로그

[Java] Scanner, 입출력 클래스 본문

개발/Java

[Java] Scanner, 입출력 클래스

Selina Park 2019. 8. 5. 16:41

Scanner vs BufferedReader

 - Scanner는 표준 입력 클래스이다.

 - 사용할 때,

      Scanner(간단한편)

     BufferedReader (약간 복잡, 귀찮음)

 - 속도, 성능

    Scanner <<< BufferedReader

    왜죠? 

     Scanner의 버퍼 사이즈는 1024 chars 이고 BufferedReader의 버퍼 사이즈는 8192 chars 이다.

    따라서, 많은 입력이 있다면 BufferedReader가 성능상 우위를 가질 수 밖에 없음.

 


Scanner 클래스

JDK1.5부터 추가되었다.

정수, 실수, 문자열을 읽어올 수 있다.

 

사용법

1. 클래스 호출

import java.util.Scanner;

 

2. 객체 생성

Scanner sc = new Scanner(System.in);

여기서 System.in은 입력 값을 바이트 단위로 읽는 것을 뜻한다.

 

3. 객체 소멸

sc.close();

코드 뒤쪽에 쓴다.

 

메소드 종류

 - 문자열(String) 읽어오기

    sc.next() : 공백문자를 기준으로 받음

    sc.nextLine() : 공백 포함 한줄 전체 읽어옴

    

 - 문자 하나 읽어오기 (char)

    sc.next().charAt()

 

 - 특정 데이터(int, double, ...) 유형

    next+자료형()

    nextInt(), nextDouble() 등

 

반복

hasNextInt()는 숫자 값을 n회 읽어온다.

자료형이 int가 아닌 경우 loop를 빠져나가서 sum을 출력한다.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int sum = 0;

        while(sc.hasNextInt()){
            int num = sc.nextInt();
            sum += num;
        }

        System.out.println(sum);

    }
}

 

[REFERENCE]

 

https://cocomo.tistory.com/507

 

Scanner와 BufferedReader 차이

Scanner J2SE 5.0 (Java 1.5) 에 Scanner 라는 java.util.Scanner 클래스가 새로 추가되었다. Scanner 클래스를 이용하면 콘솔입력을 보다 쉽게 처리 할 수 있다. package test; import java.util.Scanner; public..

cocomo.tistory.com

https://yeolco.tistory.com/133

 

자바 표준 입력 클래스 Scanner 사용법

안녕하세요 열코입니다. 이번 시간에는 자바의 기본 입력 클래스인 스캐너(Scanner) 클래스에 대해 알아보도록 하겠습니다. 자바의 스캐너 클래스는 java.util 패키지 내에 존재하는 클래스로, 정수(int), 실수(do..

yeolco.tistory.com

 

'개발 > Java' 카테고리의 다른 글

[Java] HashMap  (0) 2019.08.21
[Java] 문자열 포맷 - String.format(), System.out.printf()  (0) 2019.08.20
[Java] 정적 변수와 메소드 (static)  (0) 2019.08.08
[Java] call by value  (0) 2019.08.08
[Java] 메소드  (0) 2019.08.08
Comments