안녕하세요.^^
저도 저번주 15일(월)부터 자바에 처음 입문한 사람입니다.
저는 입력하는 형태에 대해 알고 코드 짜는 것이 맞다고 생각하여 강의만 주구장창 보면서, 강의에서 나오는 코드만 따라치는 수준(?)으로만 공부하고 있었습니다.
그러다보니 형태는 좀 알겠는데, 생각하는대로 막상 안쳐지더라구요...
그런데 막상 경험해보니 왜 주변에서 다들 일단 코드를 쳐보라고 했는지 알았습니다.
그래서 저처럼 완전 처음인 사람을 위해
알아두면 좋을 Scanner에 관해서 알아보겠습니다!
1. Scanner 클래스란?
- 사용자로부터 입력을 받을 수 있도록 도와주는 것입니다.
- Scanner라는 클래스를 자바에서 만들어놔서 저희는 만들어져있는 클래스를 가져와서 사용한다고 생각하면 되요!
- 사용 방법
import java.util.Scanner;
Scanner sc = new Scanner(System.in);
- Scanner 클래스를 사용하기 위해서는 항상 import가 되었는지 꼭 확인해야 합니다!!
( cf : java.util 패키지 안에 Scanner 클래스가 있으므로 위에 나온 코드처럼 해당 클래스 경로를 호출한 것입니다)
- sc : Scanner 클래스의 이름입니다.
- new Scanner(System.in) : 새로운 스캐너를 가져오기 위해 System.in을 입력
( cf : 더 정확히 보면, System 클래스의 in이라는 필드를 통해 연결된다는 의미입니다!!)
- 추가로 말씀드리자면, 위의 코드 두번째 줄은 바로 "객체생성"한 것입니다.
- 기본적으로 객체 생성하는 방법은 밑의 예시와 같습니다.
클래스 객체이름 = new 클래스(System.in);
2. Scanner의 메소드를 이용하여 입력하기
일단 기본적으로 알면 좋은 메서드로만 설명드리겠습니다!
1) next( ) - String(문자열타입)
- 다음 토큰을 String 타입으로 반환
- 띄어쓰기 뒷 부분은 읽지 않습니다.
- 예시
2) nextLine( ) - String(문자열타입)
- 띄어쓰기 포함하여 한줄을 모두 읽는다
- 단, "\n(Enter)" 값 다음은 못읽습니다.( cf : Enter 치기 전까지 읽는구나 생각하면 쉽습니다!)
- 예시 (띄어쓰기까지 읽히는 것을 확인해주세요!)
2-1) nextLine 메서드를 사용할 때 주의사항!!
- nextLine 메서드는 띄어쓰기까지 읽기때문에 연속으로 출력할 경우에는 밑에와 같은 문제가 발생할 수 있는데요
- nextLine이 개행을 인식하기 때문에 생긴 문제인데요, 이 문제는 밑에 "nextLine()"을 공백으로 입력해두어 해결하면 됩니다.
입문자분들이 보기 쉽게 정리해보았는데
혹시 질문사항이나 틀린 부분이 있는 경우 댓글 남겨주시면 감사하겠습니다.
감사합니다. 화이팅!!
'TIL(Today I Learned)' 카테고리의 다른 글
[Java] 문자열에서 특정 문자의 개수를 출력하고 싶을 때는 "replace() 메서드" (+ 추가로 for문 사용) (0) | 2024.07.26 |
---|---|
[Java] Math.pow() - 주어진 밑수와 지수로 제곱을 계산하여 출력하기 (0) | 2024.07.25 |
[Java] Java란 ? (2) | 2024.07.23 |
[git/github] git flow(branch를 팀원별로 생성하여 협업하는 방법) (1) | 2024.07.22 |
[git] 지금 작성하고 있는 내역 저장 안하고 git pull 하는 방법 (0) | 2024.07.18 |