JAVA/기본 이론

JAVA | Scanner 클래스 사용법

로아다 2023. 2. 21. 14:48
728x90
반응형
 import

- java.util은 패키지의 이름이다.

- java.util이라는 이름의 패키지 내부에 Scanner 클래스가 들어있다.

- 자바에서 다른 패키지에 있는 다른 클래스를 가져다 사용하기 위해서는 import가 필요하다.

 


 

java.util.Scanner 클래스

- 사용자로부터 프로그램으로 입력을 받을 수 있는 여러 기능들이 모여있는 클래스

- 새 스캐너를 생성하면서 어느 곳으로부터 입력받을지 설정한다.

 

 (System은 콘솔을 뜻한다.)

 System.out -> 콘솔로 데이터를 내보낸다는 뜻 (나가는 통로)

 System.in -> 콘솔에서 데이터가 들어온다는 뜻 (들어오는 통로)

 


 

  • Scanner 사용
import java.util.Scanner;

public class B00_Scanner {
		public static void main(String[] args) {
			
			Scanner sc = new Scanner(System.in); // 새 스캐너 생성 (입력 통로 설정)
			// Scanner sc2 = new Scanner(다른 통로);
			
			System.out.print("반드시 숫자만 입력 > ");
			
			int num = sc.nextInt(); // 스캐너에 있는 다음 정수 입력을 기다리는 기능
			
			System.out.printf("입력하신 숫자는 %d입니다.\n", num);

		}
}

 


 

스캐너의 대표적인 기능들

(1) next타입() 메서드 - nextInt(), nextDouble(), nextFloat(), …

- 사용자가 입력하는 여러 값들 중 다음 값을 하나만 꺼낸 후 원하는 타입으로 변환하여 가져온다.

- 공백, \t, \n을 통해 각 값을 구분할 수 있다.

- 통로에 남아있는 값이 없는 경우 프로그램을 멈추고 새로운 입력을 기다린다.

- nextString()은 없다.

 

(2) next() 메서드

- 통로에 있는 값을 문자열 타입으로 하나 꺼낸다.

- 공백, \t, \n을 통해 각 값을 구분할 수 있다.

- 통로에 남아있는 값이 없는 경우 프로그램을 멈추고 새로운 입력을 기다린다.

 

(3) nextLine() 메서드

- 통로에 있는 값을 모두 문자열 타입으로 꺼낸다.

- \n을 통해 값을 구분하기 때문에 모든 값을 꺼낸다. (문장을 입력받을 수 있다.)

- 통로에 남아있는 값이 없는 경우 프로그램을 멈추고 새로운 입력을 기다린다.

 


 

  • Scanner 입력을 여러개 받아보기
import java.util.Scanner;

public class B00_Scanner {
		public static void main(String[] args) {
			
			Scanner sc = new Scanner(System.in); // 새 스캐너 생성 (입력 통로 설정)
			// Scanner sc2 = new Scanner(다른 통로);
			
			System.out.print("반드시 숫자만 입력 > ");
			
			int num = sc.nextInt(); // 스캐너에 있는 다음 정수 입력을 기다리는 기능
			
			System.out.printf("입력하신 숫자는 %d입니다.\n", num);
			
			int num2 = sc.nextInt();
			int num3 = sc.nextInt();
			
			System.out.println("두 번째 값 : "+num2);
			System.out.println("세 번째 값 : "+num3);
		}
}

결과

728x90
반응형