hasnext()란? - [java]

2024. 4. 24. 23:04java

1.hasNext()란?

Scanner의 메소드로,  다음에 가져올 값이 있으면 True, 없으면 False입니다.

반환 타입은 boolean입니다.

2.hasNext()와 next()의 차이

hasNext()와 next()의 역할은 비슷해 보이면서도 약간의 차이가 있습니다.

hasNext()는 아까 말했듯이, "True or False"로 반환됩니다. 다음에 가져올 값이 있으면 True, 없으면 False입니다.

next() 아무 타입으로 반환할 수 있습니다. Iterator에 입력된 값들이 String이면 String 값으로 가져오는 것입니다.

3.hasNext()와 hasNextLine()의 차이

hasNext()는 다음에 읽을 토큰(단어)이 있는지 확인하고,

hasNextLine()다음에 읽을 이 있는지 확인합니다.   

 

4.hasNextInt()와 hasNextShort() 등등의 함수

 hasNext뒤로 Boolean, Double, Int 등등 자료형이 붙은 건 입력된 값이 그 자료형일 경우에는 true값을 반환하고 아닐 경우 false를 반환하는 함수이다. 

 

Scanner input = new Scanner(System.in);
		 
        do {
            System.out.println("a값을 입력해주세요.");
            int a = input.nextInt();
 
            System.out.println("b값을 입력해주세요.");
            int b = input.nextInt();
 
            System.out.println("두 값의 합: " + (a + b));
        } while (input.hasNextInt());

 

코드 설명

간단한 설명을 하면 a값 입력 후 b값도 입력 후 두 값 출력 후에, 다음에 입력 될 자료형이 int형이면 계속 실행 하고, 그 외의 자료형이면 작동하지 않습니다. 그 근거로, String형인 str이 입력되었는데, 작동하지 않습니다.

실행 결과 사진

 

 

 

 

5. 출처

 

(JAVA)hasNext() vs next() 메서드 차이점?

Iterator 인터페이스의 메서드로 자주 사용됩니다. Iterator에 추가적인 요소가 있을 때 가져오는 역할을 하는데요.단순히 영어만 보면 조금 헷갈립니다. hasNext는 "뭔가 다음에 있으면 가져오는 것

velog.io

 

Java Scanner 클래스의 hasNext 함수란? (feat. 백준 10951번)

알고리즘 공부를 시작하기 위해 일단 간단한 입출력부터 되짚어보고 있는데, 솔직히 내가 자바를 써온 시간이 있으니 입출력문제에서 난관을 겪을 거라곤 생각을 못했다. 그리고 이런 문장으로

planet-0104.tistory.com

 

6. 관련 자료 - (next 시리즈 정리 자료)

 

(Java) next() 시리즈

1. next() 란? Scanner 클래스의 메소드이다. -> 여기서, next() 와 nextLine의 차이를 알면, nextLine()메소드는 Enter를 치기 전까지 쓴 문자열 모두 반환한다는 것이고 next()메소드는 공백(space) 전까지 입력받

kim-kang-hyun.tistory.com

 

'java' 카테고리의 다른 글

Arrays 클래스란?  (0) 2024.05.01
StringTokenizer 클래스와 메소드들  (0) 2024.04.30
(JAVA) BufferedWriter  (0) 2024.04.24
StringBuilder란?  (0) 2024.04.20
java Math 클래스  (0) 2024.04.19