Java] Console I/O

Console Output

printf

서식 문자 출력의 형태
%d 10진수 정수 형태의 출력
%o 8진수 정수 형태의 출력
%x 16진수 정수 형태의 출력
%f 실수의 출력
%e e표기법 기반의 실수 출력
%g 출력의 대상에 따라서 %e 또는 %f 형태의 출력
%s 문자열 출력
%c 문자 출력

Console Input

BufferedReader

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Test {
public static void main(String[] args) {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String str;
try {
str = br.readLine();
} catch (IOException e) {
e.printStackTrace();
str = "Exception 발생";
}
System.out.println(str);
}
}

BufferedReader를 다루기에는 익숙하지 않으면 불편한 점이 다소 있다.

  • 자바I/O
  • Wrapper 클래스
  • String 처리
  • 예외 처리

에 대해서 알고 있어야 하기 때문이다.

Scanner

이러한 불편한 점을 쉽게 처리해주는 것이 Scanner이다.

(단, 속도나 메모리에 대해서는 BufferedReader가 성능이 더 좋다는 점을 잊어서는 안된다.)

  • Scanner(File source)
  • Scanner(InputStream source)
  • Scanner(Readable source)
  • Scanner(String source)

Scanner는 키보드의 입력만을 위해서 만들어진 클래스가 아니다.

다양한 입력을 받아 처리할 수 있다.