안그래보이지만 개발자/백엔드

java 기초부터 복습하기 : 자바 기본 입력

자네트 2019. 6. 12. 13:49
반응형

자바 입력은 불편하고 외우기 귀찮다.
cin cout이 짱이었는데.

 

자바 입력

1. BufferedReader

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

	public static void main(String[] args) throws IOException {
		
		BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
		
		System.out.println("(버퍼리더)문자열입력 : ");
		String str = buffer.readLine();
		System.out.println("입력한 값 : "+str);
		
		System.out.println("(버퍼리더)숫자입력 : ");
		int num = Integer.valueOf(buffer.readLine());
		System.out.println("입력한 숫자 : "+num);

	}

}

실행 결과

익셉션을 잘 던져줘야 한다. 안 그럼 빨간줄
아래에 나올 스캐너보다 먼저 나왔으며, 스캐너보다 빠르다.

 

2. Scanner

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		
		System.out.println("문자열 입력 :");
		String str = scanner.nextLine();
		System.out.println(str);
		
		System.out.println("띄어쓰기로 두 숫자 구분 : " );
		int num1 = scanner.nextInt();
		int num2 = scanner.nextInt();
		System.out.println("첫번째:"+num1+" 두번째:"+num2);		
		

	}
}

실행 결과

nextLine()은 엔터 치기 전까지 입력받고
next()는 띄어쓰기도 인식해서 띄어쓰기 전까지 입력받는다.
(nextInt, nextDouble, 등등...) 

BufferReader에서는 토크나이저를 이용한다고 하는데 다음에 알아보자.

스캐너가 더 최근에 나왔으나 BufferReader보다 느리다.


 

반응형