키 입력 (System.in) (Scanner)
System.in
키 입력 받는 방법
System.in
출력은 System.out을 사용하였지만 입력은 System.in을 사용 System.in을 통해 사용자에게서 키를 입력받을 수 있다. 하지만 받은 정보를 문자나 숫자로 변환해주기 위해서는 Scanner 클래스를 사용해줘야 한다.
Scanner
- Scanner 객체 생성하기
Scanner sc = new Scanner(System.in);
import 문
Scanner를 사용하기 위해서는 자바에게 알려줘야 하는데 이때, import 문을 적어줘야 한다.
import java.util.Scanner;
프로그램 맨 윗줄에 작성해주기
import java.util.Scanner;
public class Hello {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
}
}
키 입력받기
Scanner 클래스는 사용자가 입력한 값을 공백 문자 기준으로 (토큰 단위) 읽는다. ex) “Hello World”를 입력한다면 -> “Hello”, “World” 토큰 단위로 읽는다.
Scanner의 메소드
메소드 | 기능 |
---|---|
nextLine() | 한줄 전체 읽기(공백 있는 문자열) |
next() | String 읽기(공백 있는 문자열 읽기 X) |
nextBoolean() | boolean 타입으로 읽기 |
nextLong() | long 타입으로 읽기 |
nextInt() | int 타입으로 읽기 |
nextDouble() | double 타입으로 읽기 |
nextFloat() | float 타입으로 읽기 |
Scanner 메소드를 이용하여 사용자가 입력한 값을 읽어야 한다.
Scanner 닫기
sc.close(); // scanner 객체 사용 종료 (위에서 입력한 sc 값)
닫는 코드가 없어도 실행 결과에는 문제가 생기지 않는다.
예시 코드
package post1;
import java.util.Scanner;
public class Hello {
public static void main(String[] args) {
System.out.println("이름, 나이, 도시를 빈칸으로 분리해서 입력해주세요.");
Scanner sc = new Scanner(System.in);
//이름을 입력받을 부분 (String 타입)
String name = sc.next();
System.out.println("이름은 "+name+"입니다.");
//나이를 입력받을 부분 (int 타입)
int age = sc.nextInt();
System.out.println("나이는 "+age+"입니다.");
//도시를 입력받을 부분 (String 타입)
String city = sc.next();
System.out.println("사는 곳은 "+city+"입니다.");
}
}
✔ 출력 결과
이름, 나이, 도시를 빈칸으로 분리해서 입력해주세요.
가나다 19 서울
> 이름은 가나다입니다.
> 나이는 19입니다.
> 사는 곳은 서울입니다.
출처
- (황기태, 김효수, ⌜명품 JAVA Programming⌟, 생능출판, 2018)을 학습하고 개인 학습용으로 정리한 내용입니다.