1.Scanner 클래스란?
자바에서 화면으로부터 데이터를 입력받는 기능을 제공하는 클래스이다. java.util 패키지 내에 존재하는 클래스로서 정수, 실수, 문자열과 같은 기본적인 데이터 타입 입력을 받는다.
.
Scanner 클래스의 특징
기본적인 데이터 타입들을 Scanner 의 메소드를 사용하여 입력받을 수 있다.
- 예로 들어 100을 입력하고자 할 때, String(문자열)로 입력받고 싶으면 next() 나 nextLine() 을, int(정수)로 입력받고 싶다면 nextInt() 를 사용하여 입력받으면 알아서 해당 타입으로 입력된다.
- Scanner 을 사용할 시 util 패키지를 경로의 Scanner 클래스를 호출해야 한다.
자바에서 쓰이는 대부분의 클래스는 lang 패키지가 아니라면 import 을 통해 호출해주어야 한다.
Scanner 의 경우는 java.util 패키지에 있다. - 공백(띄어쓰기) 또는 개행(줄 바꿈)을 기준으로 읽는다.
Scanner 의 입력 메소드들은 대부분 공백과 개행(' ', \t, \r, \n)을 기준으로 읽는다. 이 덕분에 사용자의 편의에 따라 쉽게 입력을 받을 수 있다.
앞에 Scanner 의 특징에서 언급했듯이 Scanner 클래스를 사용하기 위해서는 호출해주어야 한다고 했다.
( import java.util.scanner; )
자바의 경우 java.util 패키지 안에 Scanner 클래스가 있으므로 다음과 같이 import 를 쓴 후 해당 클래스 경로를 호출하도록 한다.
우리가 입력을 하기 위해 Scanner 클래스를 쓰고자 먼저 클래스를 호출했다.
그다음으로 해야 할 것이 바로 객체 생성이다.
기본적으로 객체 생성하는 방법은 다음과 같다.
클래스_이름 객체_이름 = new클래스_이름();
우리는 Scanner 라는 클래스를 사용할 것이기 때문에 클래스 이름에는 Scanner 가 들어가야 한다.
객체 이름은 기억하기 쉬운 이름으로 지정하면 된다.
(대체로 Scanner 의 경우 객체이름은 in, input, sc, scan 이렇게 4가지가 가장 많이 쓰인다.)
Scanner 의 경우 아래처럼 객체를 생성해주면 된다.
Scanner in = new Scanner(System.in); // scanner 객체 생성
주의할 것은 Scanner 을 생성할 때 System.in 이 들어간다는 점!
System.in 은 사용자로부터 콘솔창을 통해 입력을 받기 위한 입력 스트림이다!
System.in // 정수형, 실수형과 같은 값을 화면에서 입력받겠다는 의미!
System.out // 화면으로 출력하는 것!
System.err // 화면으로 출력할 수는 있지만, 다른 파일등으로 결과가 redirection 되지 않음!
그렇기 때문에 Scanner 뿐만 아니라 다른 입력 방식들도 사용자로부터 입력을 받기 위해서는 System.in 이 들어감!
'Java' 카테고리의 다른 글
Java 06. if문, else if, else (제어문, 조건문, 반복문) (0) | 2023.03.05 |
---|---|
Java 05. Enum (이넘 열거형 자료 타입) (0) | 2023.03.04 |
Java 04. Random (랜덤) 난수 생성하기 (0) | 2023.03.04 |
Java 02. 연산자 (연산자의 종류, 연산자의 연산 방법) (0) | 2023.03.02 |
Java 01. 변수와 자료형, 자료형의 종류와 크기 ( 데이터 타입 Data type ) (0) | 2023.03.01 |