[Java] 입출력

thingzoo·2023년 4월 25일
0

Java

목록 보기
18/20
post-thumbnail

입력

입력

  • 표준 입력 방법: Scanner
  • BufferReader가 Scanner보다 시공간복잡도가 더 낮다고 함
  • 실제로 Scanner썼다가 메모리초과났었음...!
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();

문자열 토큰 분리 방법

  • BufferedReader, StringTokenizer는 문자열 토큰 분리시 사용
  • StringTokenizer가 BufferedReader보다 빠르다고함

StringTokenizer

// StringTokenizer
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());

String A = st.nextToken();

BufferedReader

// BufferedReader
// throws IOException 추가해주기
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

String[] input = br.readLine().split(" ");

입력 개수를 모를 때

Scanner 클래스

while (sc.hasNext()) { // 다음 입력이 있으면 계속
	String temp = sc.next();
    System.out.println(temp);
}

BufferedReader 클래스

while ((line = br.readLine()) != null) { // 다음 입력이 null이 아니면 계속
    System.out.println(line);
}

출력

  • 표준 출력 방법: System.out.println(""), System.out.printf("") 등
  • 많은 양의 출력을 할 때는 BufferedWriter이나 StringBuilder 사용

BufferedWriter

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); // 선언
String str = "abcdef"; // 출력할 문자열
bw.write(s); // 출력
bw.newLine(); // 줄바꿈
bw.flush(); // 남아있는 데이터 모두 출력
bw.close();

StringBuilder

StringBuilder sb = new StringBuilder();
sb.append("a");
sb.append("b").append(" ");
sb.append("c").append("\n");
System.out.println(sb);
profile
공부한 내용은 바로바로 기록하자!

0개의 댓글