[Java] Scanner, BufferedReader, BufferedWriter

호호빵·2022년 5월 21일
0

Java

목록 보기
7/19

Scanner

class Scanner

  • 공백과 개행 기준으로 입력 값을 인식, 따로 가공 필요 없음
import java.util.Scanner;
									//  Scanner 객쳋 생성
Scanner sc = new Scanner(System.in) // 사용자로부터 입력을 받기 위한 스트림
int score = sc.nextInt()  		    // int형 입력 및 리턴

boolean g = in.nextBoolean(); 	    // boolean 형 입력 및 리턴
 
String h = in.next(); 		    	// String 형 입력 및 리턴 (공백 기준)
String i = in.nextLine(); 	    	// 개행을 기준으로 한 줄을 읽음


BufferedReader

Class BufferedReader

  • 개행문자만 경계로 인식, 입력 데이터가 String으로 고정.(데이터 가공 필요)
  • throws IOException 을 통한 예외처리가 필요
  • 버퍼를 사용하지 않는 입력은, 키보드의 입력이 키를 누르는 즉시 프로그램에 전달
  • 버퍼를 사용하는 입력은, 키보드의 입력이 있을때마다 한 문자씩 버퍼로 전송하고 버퍼가 가득차거나 혹은 개행 문자가 나타나면 버퍼의 내용을 한번에 프로그램에 전달
import java.io.BufferedReader

public class Main {
	public static void main(String[] args) throws IOException { 
      BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
      String s = br.readLine();
      int i = Integer.parseInt(br.readLine());
	}
}

# 공백 단위로 데이터 가공
i) StringTokenizer
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Interger.parseInt(st.nextToken());

// nextToken() 함수를 쓰면 readLine()을 통해 입력 받은 값을 공백 단위로 구분하여 순서대로 호출가능

ii) String.split()
String arr[] = s.split(" ");

StringBuilder

class StringBuilder

  • String은 변경 불가능한 문자열을 생성하지만, StringBuilder는 변경 가능한 문자열을 만들어 줌(String을 합치는 작업 가능)
Public Class Main {
	public class void main(String[] args) {
    	StringBuilder sb = new StringBuilder();
        sb.append("문자열 ").append("연결");
        String str = sb.toString();
        System.out.println(str);
    }
}
// 문자열 연결



Scanner
StringBuilder
백준 10828
BufferedReader

profile
하루에 한 개념씩

0개의 댓글

관련 채용 정보