-
[Camel][Java] Console Input - 콘솔 입력 (Scanner)Java/개념 정리 2020. 2. 19. 17:51
과거에 Java에서 콘솔 입력은 다소 복잡한 코드 조합을 통해서 이루어 졌다고 합니다.
BufferedReader bufread = new BufferedReader( new InputStreamReader(System.in) ); String str = bufread.readline(); int num = Integer.parseInt(str);
위의 정수를 입력받는 코드를 이해하기 위해서는 Wrapper 클래스, Java I/O, String 처리, 예외처리와 같은 처음 Java를 접하는 사람에게는 다소 복잡한 내용까지 숙지해야 했습니다.
하지만 Java는 5.0버전 이후로 다음과 같은 코드로 정수를 입력 받을 수 있게 되었습니다.
Scanner sc = new Scanner(System.in); int num = sc.nextInt();
그렇다면 여기서 사용된 Scanner 클래스는 무엇일까?
Scanner 클래스란?
Scanner 클래스는 전달되는 대상의 데이터를 추출하는 기능을 하는 클래스입니다. 이 Scanner 클래스는 java.util 패키지를 통해 제공되는 클래스중 하나이며, Scanner 클래스에는 다양한 생성자들이 있습니다. 여기서 중요한 점은 전달되는 대상이 키보드 입력 뿐만아니라 파일일 수도 있다는 것입니다. 즉, Scanner 클래스는 키보드 입력만을 위해 사용되는 클래스가 아니라는 것입니다.
Scanner 클래스에는 다양한 메소드들이 있고 그 중 일부 중요한 메소드를 소개하겠습니다.
public boolean nextBoolean() public byte nextByte() public short nextShort() public int nextInt() public long nextLong() public float nextFloat() public double nextDouble() public String nextLine()
사용법은 아래 코드와 같습니다.
import java.util.Scanner; class Scan { public static void main (String[] args) { Scanner sc = new Scanner(System.in); System.out.print("What is your name? "); String name = sc.nextLine(); // nextLine 메소드를 사용해 문자열을 입력 받는다. System.out.print("Welcome " + name); System.out.print("How tall are you? "); double tall = sc.nextDouble(); // nextDouble 메소드를 사용해 키를 실수로 입력 받는다. System.out.println("I`m " + tall +"cm"); } }
'Java > 개념 정리' 카테고리의 다른 글
[Camel][Java] Multi-Dimensional Array(다차원배열) feat. 2차원배열 (0) 2020.02.19 [Camel][Java] Array ( 배열 ) (0) 2020.02.19 [Camel][Java] StringBuilder와 StringBuffer 클래스 (0) 2020.02.19 [Camel][Java] String 클래스의 다양하고 유용한 함수(Method) (0) 2020.02.18 [Camel][Java] String 클래스에 대해서 (0) 2020.02.18