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);
}
}
'JAVA > 기본 이론' 카테고리의 다른 글
JAVA | 연산자(Operator)(2) (0) | 2023.02.22 |
---|---|
JAVA | 연산자(Operator)(1), Math 메서드 (0) | 2023.02.22 |
JAVA | print() (0) | 2023.02.21 |
JAVA | 형 변환(Type Casting) (0) | 2023.02.21 |
JAVA | 변수의 이름(Variable Naming) (0) | 2023.02.21 |