Languages/Java

[Java]기본 입출력 클래스 스캐너(Scanner)란?

MoonSta 2023. 5. 1. 23:33

 각종 SNS나 카카오톡 메세지를 입력하고 전송하는 것과 같은 화면으로부터 특정 데이터를 입력받아야 하는 경우가 발생합니다. 이러한 상황에서 각각의 프로그래밍 언어에는 화면으로부터 입력을 받기 위한 방법이 존재합니다. 예를들어 C언어에는 scanf() 함수를 통해 입력을 받을 수 있으며, 지금부터 알아볼 Java에서는 스캐너(Scanner)클래스를 통해 화면으로부터 정보를 입력받을 수 있습니다.

 

📌Scanner 클래스의 특징 

  • 문자열, 정수와 같은 기본적인 데이터 타입을 입력받을 수 있고, 메서드를 통해 원하는 타입으로 변환이 가능하다.
  • Scanner 클래스는 java.util 패키지 안에 존재하기 때문에 사용하기 위해서는 import해주어야 한다.
  • Scanner의 메서드들은 공백과 개행 기준으로 읽기 때문에 사용자가 정의할 수 있다.

 

📌Scanner 클래스 사용해보기

 이제 Scanner클래스를 직접 호출하고 사용해보도록 하겠습니다. 아래 순서에 따라 진행하면 됩니다. 

 

📌Scanner 클래스 호출

//Scanner 클래스를 사용하기 위해서는 java.util의 Scanner클래스를 별도 호출해주어야 한다.
import java.util.Scanner;

 

 

📌Scanner 클래스 객체 생성

//Scanner 객체 생성
Scanner sc = new Scanner(System.in);


//Scanner 객체를 생성한 후 System.in을 파라미터로 넣어주어야한다.
//System.in은 사용자로부터 입력을 받기위한 스트림이다.

 

📌자주 쓰이는 Scanner 클래스의 메서드 

메서드 기능
next() 띄어쓰기 전까지의 String을 읽음
nextLine() 띄어쓰기 포함한 전체 String을 읽음
nextInt() 정수(int)를 읽음
nextBoolean() boolean을 읽음

 

 

📌Scanner 메서드를 사용한 예제 -  next()

Scanner sc = new Scanner(System.in);

String str = sc.next();

System.out.println(str);


//입력 : moooonstar blog
//결과 : moooonstar

 

📌Scanner 메서드를 사용한 예제 -  nextLine()

Scanner sc = new Scanner(System.in);

String str = sc.nextLine();

System.out.println(str);


//입력 : moooonstar blog
//결과 : moooonstar blog

 

📌Scanner 메서드를 사용한 예제 -  nextInt()

Scanner sc = new Scanner(System.in);

int num = sc.nextInt();

System.out.println(num);


//입력 : 10
//결과 : 10