Java

[Java]Scanning the input

Woonys 2022. 5. 9. 10:46
반응형

standard input: 프로그램 안으로 들어가는 데이터의 흐름을 말한다. 이는 운영체제에 의해 제공된다. 기본적으로, standard input은 키보드 input으로부터 데이터를 얻으나 파일로부터 리다이렉트해 얻을 수도 있다.

1. Reading data with scanner

standard input으로부터 데이터를 얻는 가장 심플한 방법은 standard class scanner를 사용하는 것이다. 이는 프로그램이 standard input으로부터 서로 다른 자료형의 값을 읽도록 한다.

이 클래스를 쓰기 위해 우리는 반드시 파일의 맨 위에 import 문을 선언해야 한다.

import java.util.Scanner;

그 다음, import 아래에 다음과 같이 구성한다.

Scanner scanner = new Scanner(system.in);

이 문장을 통해, 우리는 scanner 클래스의 객체를 생성할 수 있으며 해당 클래스의 메소드 또한 사용 가능하다.

scanner 클래스로 문자열을 읽는 두 가지 방법이 있다.

1. next() : 단일 정수 or 문자열을 읽을 때

만약 input 값이 정수이거나 하나의 단어라면 next() 메소드를 이용해 데이터를 읽을 수 있다.

String name = scanner.next();

System.out.println("Hello, " + name + "!");

만약 name = “James”라면 아래와 같이 출력될 것.

Hello, James!

하지만 이 방법은 공백 이후 단어는 출력되지 않는다.

2. nextLine(): 입력 라인 전체를 읽을 때

next() 메소드는 오직 한 단어만 읽을 수 있는 반면, nextLine() 메소드는 space 문자 역시 읽어들인다.

2. Reading a multiline input

input 여러 번 읽어들이려면 → next() or nextLine() 여러 줄에 걸쳐서 읽어들이기

3. Conclusion

  • scanner 클래스를 이용해 데이터를 읽어들일 수 있다.
  • next(), nextLine() 메소드를 이용해 문자열을 읽어들일 수 있다.
  • 둘다 input을 읽어들일 때 사용하나, next()는 whitespace 앞까지만 읽어들이는 반면, nextLine()은 라인 전체를 읽어들인다.
반응형

'Java' 카테고리의 다른 글

[Java]참조 타입(이것이 자바다 Ch.5)(작성 중)  (0) 2022.05.20
[Java]Integer types and operations  (0) 2022.05.16
[Java]Comments(주석)  (0) 2022.05.09
[Java]Types and variables  (0) 2022.05.09
[Java]Basic literals  (0) 2022.05.07