본문 바로가기
Programming/Java

[Java] Scanner, BufferedReader, StringBuilder 차이 사용법 정리

by skyrun 2022. 11. 9.

1. Scanner

Scanner sc = new Scanner(System.in);
String strLine = sc.nextLine();
String str = sc.next();
int num = sc.nextInt();
//xxx nextXxx()이 보통 다 있음
next() vs nextLine() 차이점
  • next()는 공백, 탭문자, 개행문자를 기준으로 split하여 값을 String으로 반환. 나머지는 버퍼에 남게 된다.
  • next() 이후에 nextLine()을 사용하면 버퍼에 남은 값들이 nextLine()에 반환된다.
  • nextLine()전에 sc.nextLine(); 을 한번 해주면 버퍼가 날라간다.
  • nestLine()은 "a b c d e"를 입력할 경우 공백을 포함하여 "a b c d e" 모두 반환한다.
  • scanner는 System.in을 생성시에 내부에서 try-chatch를 사용하여 예외처리를 하기때문에 예외처리를 하지 않아도 된다.

 

2. BufferedReader

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
  • 개행문자로만 경계를 인식한다.
  • 반환 값이 String으로 고정 된다.
  • 잘못된 값이 들어올 경우 에러가 나지 않도록 예외처리를 꼭 해주어야 한다.

3. StringBuilder

StringBuilder sb = new StringBuilder();
sb.append('a');
ab.append("string");

'Programming > Java' 카테고리의 다른 글

[Java] vscode(Prompt 창)에서 Compile 및 실행하기  (0) 2022.10.22

댓글