본문 바로가기

Study for Backend/Programming language - Java

[Java기초] next()와 nextLine()의 차이점

 

next()는 개행문자(Enter)를 무시하고 입력을 받고 

nextLine은 한줄 단위로 입력을 받기 때문에 개행문자(Enter)도 포함한다.


좀 더 직관적으로 설명하자면 1234를 입력하고 Enter를 쳤다면 버퍼에 1234\n이 존재한다.

이 때 nextInt()가 버퍼의 내용을 가져올 때 분리자를 제외하고 가져오기 때문에 1234만 가져오게 된다.

그러면 버퍼에 \n이 남아있게 되는데 nextLine()은 공백과 개행문자(Enter)인 분리자를 포함시키기 때문에

\n만 가져오고 프로그램이 종료된다.

 

따라서 공백이 있는 한줄을 리턴받고 싶으면 nextLine() 메소드를 사용하고,

한 단어만 리턴받고 싶으면 next() 메소드를 사용하면 된다.

 

관련 메소드 참고

 

 

link

https://summer-light.tistory.com/97

 

[Java] next() 와 nextLine()의 차이와 주의점

next() 와 nextLine()의 차이와 주의점 Scanner stdIn = new Scanner(System.in); stdIn.nextInt( ); Scanner(System.in) 을 이용하면, 키보드로 입력한 값을 얻어낼 수 있다. (*stdIn : Standard Input) 위와 같이 nextInt()를 사용할

summer-light.tistory.com

https://velog.io/@alswp2274/JAVA-next-nextLine%EC%9D%98-%EC%B0%A8%EC%9D%B4

 

velog

 

velog.io

 

'Study for Backend > Programming language - Java' 카테고리의 다른 글

[Java기초] 예외 처리  (0) 2024.02.12
[Java기초] 컬렉션 프레임워크  (2) 2024.02.12
[Java기초] 입출력  (2) 2024.02.08
[Java기초] 내부 클래스  (0) 2024.02.08
[Java기초] 인터페이스  (0) 2024.02.08