JAVA에서 Scanner Class란?
- 화면이나 파일, 문자열 등의 입력으로부터 문자를 읽어주는 클래스이다
- import를 통해 호출해줘야 한다. java.util 패키지에 존재

- Scanner Class 객체 생성하기

=> Scanner Class는 객체생성을 무조건 해야 사용 가능
=> 화면 / 파일에서 입력 받을 수 있는데 어떤 데이터타입을 입력 받을 것이기 때문에 System.in을 사용
Scanner 입력 메서드 종류
| 메서드 | 반환타입 | 설명 |
| next() | String | 다음 토큰을 String타입으로 반환 (띄어쓰기 뒷 부분 읽지 않음) |
| nextLine() | String | 개행 전까지의 한 줄을 읽고 "\n"값이 제외된 부분만 출력 |
| nextInt() | Int | 다음 토큰을 int타입으로 반환 |
next()
-공백이나 'Enter Key'로 값 구분 입력 시 각각 변수에 저장
예제)

스캐너 변수.next()의 줄 수만큼 input(입력값)을 받아준다.
이 예제에서 sc.next()가 3개 있고 3개를 출력하여 변수에 저장한다.
=> 즉, '한 단어' 씩 받는다.

input : i am mintoli => 이 문장에서 공백은 총 2개니까 3개의 단어로 이루어진 셈이다.
만약 x2, x3만 있다면 i / am 까지만 받고 mintoli는 받지 못하는 셈이다.
nextLine()
- 한 줄 입력 모두 저장
예제)

nextLine()을 사용하여 x2, x3 총 두개로 받아보았다.
이러면 총 두 줄을 입력 받을 수 있다는 소리이다.
next()에서 공백 전까지의 한 단어씩만 변수에 저장했던 것에 반해, nextline()은 한 문장 단위로 (개행이 일어나기전) 받는다.

- i am mintoli / i want to be a coding gosu 라는 두 문장을 입력할 수 있다.
=> 그 이유는? nextLine()이 두개 있기 때문에 문장 두 개를 받을 수 있는 것이다.
- 만약 nextLine()이 하나만 있다면 어떻게 될까?

=> 이렇게 한 문장만 입력하고 저장할 수 있다.
nextInt()
- 입력값 정수 변환
예제)

- nextInt를 사용하려면 일단 변수 앞에도 String에서 int로 바꿔줘야 한다.

만약 입력값으로 문자열을 사용한다면 이렇게 오류가 난다.

하지만! 이렇게 숫자를 입력해주면 아주 잘 출력된다
추가)

next()처럼 nextInt()도 공백 전까지의 한 단어(?) 숫자(?) 숫자 한 덩어리만 받아준다.
'Coding > JAVA' 카테고리의 다른 글
| [JAVA] while / for 반복문 사용 간단 예제 (0) | 2024.03.19 |
|---|---|
| [JAVA] 가위바위보 게임 (0) | 2024.03.18 |
| [JAVA] 이클립스 자주 쓰는 단축키 (0) | 2024.03.12 |
| ECLIPSE 초기 환경 구축 (다운로드 / UTF-8 설정) (0) | 2024.03.12 |
| JDK 자바 개발 키트 (0) | 2024.03.11 |