-
[삼쾌한 IT강의] BufferedReader와 Scanner 사용법JAVA/이론 2019. 1. 10. 14:06
이번 포스팅에서는 자바에서 키보드로 입력하는 방법을 배우겠습니다.
키보드로 입력하는 방법은 BufferedReader 와 Scanner 를 사용하는 총 2가지 방법이 있는데, 아래의 사용법과 차이점을 확인하시고 편한 방법으로 적용해서 사용하면 됩니다.
1. BufferedReader의 사용법
1) BufferedReader 사용을 위한 패키지를 불러오고, 예외처리 문구를 넣어줍니다.
import java.io.*;
throws IOException
2) BufferedReader 사용을 위한 문구를 적어줍니다.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
3) 우리가 키보드로 입력한 문구를 받아줄 String 참조 변수를 선언 해 줍니다.
컴퓨터가 코드를 처리할 때 아래의 문장이 나타나면, 사용자의 입력을 기다리는 상태에서 프로그램 실행 화면이 멈춥니다.
우리가 내용을 입력한 후에 엔터를 누르면 우리가 입력한 값이 str에 저장이 됩니다.
String str = br.readLine();
2. Scanner의 사용법
1) Scanner 사용을 위한 패키지를 불러옵니다.
import java.util.Scanner;
2) Scanner 사용을 위한 문구를 적어줍니다.
Scanner scanner = new Scanner(System.in);
3) 우리가 입력한 내용을 받아줄 변수를 자료형에 맞춰 선언 해 줍니다.
이 부분에서 실행 화면은 사용자가 내용을 입력할 때 까지 멈춰져 있습니다.
우리가 내용을 입력한 후에 엔터를 누르면 우리가 입력한 값이 x변수에 저장됩니다.
아래에서는 정수를 입력해야겠죠?
int x = in.nextInt( );
여기까지 보면 BufferedReader와 Scanner가 큰 차이가 없는 것 처럼 보이지만, Scanner는 입력하고 싶은 내용의 자료형에 따라 변수를 선언하고 곧바로 입력 내용을 저장할 수 있는반면! BufferedReader는 문자열로 입력을 먼저 받은 후에 원하는 형태의 변수로 다시 변환을 해줘야 합니다. 아래의 BufferedReader 와 Scanner 활용하기를 숙지하신 후 실습예제 목록에서 실습을 해보시면 바로 이해를 하실겁니다.
3. BufferedReader 활용하기
String str = br.readLine( ); // 사용자가 입력한 값이 str에 담깁니다.
float fnum = Float.parseFloat(str); // str에 담긴 값을 float으로 변환 후 fnum에 대입 해 줍니다.
double dnum = Double.parseDouble(str); // str에 담긴 값을 double로 변환 후 dnum에 대입 해 줍니다.
int num = Integer.parseInt(str); // str에 담긴 값을 int로 변환 후 numj에 대입 해 줍니다.
4. Scanner 활용하기
Scanner scanner = new Scanner(System.in);
//사용자가 원하는 자료형 변수로 바로 대입을 해 줍니다.
int n = scanner.nextInt();
double dn = scanner.nextDouble();
float fn = scanner.nextFloat();
String str = scanner.nextLine();
이상 유쾌,상쾌,통쾌 삼쾌한 IT강의, 백소라 강사의 BufferedReader와 Scanner 사용법 설명을 마치겠습니다.
내용이 도움이 되셨다면 공감버튼 클릭, 댓글은 센스! 감사합니다.
'JAVA > 이론' 카테고리의 다른 글
[삼쾌한 IT강의] 산술연산자, 증감연산자, 복합대입 연산자 (0) 2019.01.13 [삼쾌한 IT강의] 자바 연산자 종류와 우선순위 (0) 2019.01.13 [삼쾌한 IT강의] 형변환과 접미사 (0) 2019.01.10 [삼쾌한 IT강의] 진수별 표현과 문자체계 (0) 2019.01.10 [삼쾌한 IT강의] 변수의 종류,선언 및 초기화 (0) 2019.01.10 댓글