반응형
Java 프로그램을 작성하다 보면 사용자의 입력을 받아서 처리해야 하는 경우가 존재한다.
이때 가장 많이 사용되는 클래스 중 하나가 바로 java.util.Scanner입니다.
당장 코드 문제같은 것을 풀 때도 Scanner 클래스를 이용하여 문제를 정말 많이 해결한다.
이번 글에서는 Scanner 클래스의 기본 개념, 주요 메서드, 실무 활용 사례를 상세히 알아보자
▷ Scanner 클래스?
Scanner 클래스는 사용자의 입력을 처리하거나 텍스트 데이터를 읽는 데 사용되는 클래스이다. 파일, 문자열, 키보드 입력 등 다양한 데이터 소스를 읽을 수 있다.
또한 Scanner는 데이터를 토큰(token) 단위로 분리하여 읽기 때문에 간편하게 다룰 수 있다.
그리고 아래와 같은 핵심 특징들을 가지고 있다.
- 다양한 데이터 타입 지원: 문자열, 정수, 실수 등 다양한 데이터 타입을 입력받음.
- 토큰화: 공백 또는 사용자 정의 구분자를 기준으로 데이터를 분리해 읽음.
| Scanner 객체 생성
import java.util.Scanner;
public class ScannerMang {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); // 키보드 입력을 위한 Scanner 생성
System.out.println("이름을 입력하세요: ");
String name = scanner.nextLine(); // 사용자로부터 한 줄 입력 받기
System.out.println("내 이름은 " + name + "!");
}
}
| 주요 메서드와 데이터 타입 입력
Scanner 클래스는 다양한 데이터 타입을 읽을 수 있도록 여러 메서드를 제공한다.
아래를 보고 알아보자.
1) 문자열 입력
- next(): 공백 전까지의 단어를 읽음
- nextLine(): 엔터치기 전까지의 한 줄 전체를 읽음.
Scanner scanner = new Scanner(System.in);
String next = scanner.next();
System.out.println(next);
//"나는 오늘 밥을 먹고
//블로그를 쓰러갔다." 라는 입력을 했다는 가정.
출력 결과
나는
Scanner scanner = new Scanner(System.in);
String nextLine = scanner.nextLine();
System.out.println(nextLine);
//"나는 오늘 밥을 먹고
//블로그를 쓰러갔다." 라는 입력을 했다는 가정.
출력 결과
나는 오늘 밥을 먹고
2) 정수 및 실수 입력
- nextInt(): 정수 입력
- nextDouble(): 실수 입력
- nextLong(): Long 타입 정수 입력
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
System.out.println(num);
double decimal = scanner.nextDouble();
System.out.println(decimal);
//134546
//53.516 라고 입력을 했다는 가정
출력 결과
134546
53.516
3) Boolean 입력
- nextBoolean(): true 또는 false 값을 입력받음.
Scanner scanner = new Scanner(System.in);
boolean boolValue = scanner.nextBoolean();
System.out.println(boolValue);
//true 라고 입력을 했다는 가정
출력 결과
true
| Scanner 클래스 고급 활용법
Scanner는 데이터를 읽기 전에 해당 데이터가 특정 타입인지 확인할 수 있는 메서드를 제공한다.
- hasNextInt(): 다음 입력이 정수인지 확인
- hasNextDouble(): 다음 입력이 실수인지 확인
- hasNextBoolean(): 다음 입력이 Boolean인지 확인
import java.util.Scanner;
class Main{
public static void main(String[] args){
Scanner s = new Scanner(System.in);
while(s.hasNextInt()){
int a = s.nextInt();
int b = s.nextInt();
System.out.println(a+b);
}
}
}
이번 글로 Scanner 클래스의 기본 사용법부터 고급 활용법까지 충분히 이해하셨기를 바랍니다.
궁금한 점이나 추가적인 활용 예제가 있다면 댓글로 알려주세요! 😊
반응형
'언어 공부하기 > JAVA 개념' 카테고리의 다른 글
[Java 자바] Math.pow()함수를 이용하여 제곱 계산하기 : 자바 길라잡이 (Math.pow) (0) | 2024.12.05 |
---|---|
[Java 자바] ExceptionError와 Try-Catch 구문 완벽 가이드 : 기본 개념부터 예제까지 (자바 Try-Catch) (0) | 2024.11.22 |
[Java 자바] Random 클래스 완벽 가이드 : 기본 개념부터 예제까지 (자바 Random) (0) | 2024.11.21 |
[Java 자바] ValueOf(), toString() 메소드 사용법 및 예제 알아보기(자바 함수) (0) | 2024.11.18 |
[Java 자바] indexOf()와 substring() 메소드 사용법 및 예제 알아보기(자바 함수) (1) | 2024.11.13 |