728x90
반응형
처음 자바를 배울 때는 키보드에서 입력받기 위해 Scanner를 사용했다. 그리고 혼자 공부를 시작하면서 BufferedReader를 더 많이 사용하기 시작했다. 그런데 막상 그 차이점은 잘 모르고 단순히 BufferedReader가 더 효율적이라는 말에 쓰기 시작했다. 그래서 두 가지를 비교해보았다.
1. Scanner
- java.util 패키지
- 키보드에서 입력받는 대로 바로 처리
- 엔터와 스페이스로 구분 -> 공백 입력 불가
- 원하는 타입으로 받을 수 있음
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
int n;
n = scanner.nextInt();
2. BufferedReader
- java.io 패키지
- 키보드의 입력을 버퍼에 저장했다가 한번에 처리
- 엔터로 구분
- 무조건 String으로 받기 때문에 다른 타입으로 이용하려면 형변환 필요
- 예외 처리 필요
import java.io.BufferedReader;
import java.io.InputStreamReader;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n;
try {
n = Integer.parseInt(br.readLine());
} catch (Exception e){
// 예외 시
}
*일반적으로 BufferedReader가 Scanner보다 빠르다고 한다.
728x90
반응형
'자바' 카테고리의 다른 글
[Java] Linux-centOS7에 openJDK 11 설치하기 (0) | 2022.08.29 |
---|---|
[이펙티브 자바] 생성자 대신 정적 팩터리 메서드를 고려하라(아이템 1) (0) | 2022.08.24 |
자바의 특징과 구조 (0) | 2022.02.25 |
이클립스 vs 인텔리제이 (0) | 2022.02.25 |
자바 8 vs 자바 11 (0) | 2022.02.25 |