Java 기반 클라우드 융합 개발자 과정 - KH 정보교육원/플러스 알파
스캐너 - nextInt(), nextLint(), close()
giggs
2022. 4. 30. 18:09
Question. - nextLine()을 사용한 이유는?
- 엔터키를 가져오려고
- nextInt() 는 엔터키를 안가져온다.
- 쭉 숫자만 하나하나 가져올 거면 nextInt() 상관없지만
- 만약에 숫자를 입력받다가 문자열도 입력받으려고하면 에러발생
- abc를 가져오는것이아니라 가장 처음에 발생한 엔터키만 가져오고 끝나는 에러발생 가능성
- nextLine() 3번을 써줘야지 우리가 원하는 abc가 출력된다.
nextInt() vs nextLine()
nextInt() = 3 출력
nextInt() = 7 출력
nextLine() = 엔터 출력
nextLine() = 엔터 출력
nextLine() = abc 엔터 출력
Question. - sc.close(); 란?
- 스캐너를 닫아주는 아이인데
- 스캐너는 사실 사용했으면 반납을 해줘야하는 아이다.
- 다쓰고나면 없애주는 것이 좋다.
- 스캐너 객체 만들게 되면 콘솔이랑 연결이 되어있는 것이다.( System.in)키워드 때문에
- 이 연결을 하고 있다는 자체가 자원을 사용하고 있다는 것
- 가만히 놔둬도 상관은 없긴한데 연결이 안 끊어지고 물려있는 상태이다.
- 연결 되어있는 것이 stream 이라하는데
- 이stream낭비하는 것을 방지하고자 연결을 끊어줄 필요가 있는데
- 이 연결을 끊어주는 명령이 sc.close();