Java : 기본(3)
Java 에서 키 입력
- System.in
- 키보드로부터 직접 읽는 자바의 표준 입력 스트림
- 키 값을 바이트(문자x)로 리턴
- System.in을 사용할 때 문제점
- 키 값을 바이트 데이터로 넘겨주므로 응용프로그램이 문자 정보로 변환해야 한다.
System.in 사용시 문제점
- 키 값을 바이트 데이터로 넘겨주므로 응용프로그램이 문자 정보로 변환해야 한다.
Scanner 키 입력
- Scanner 클래스
- System.in 에게 키를 읽게 하고, 읽은 바이트를 문자, 정수, 실수, Boolean, 문자열 등 다양한 타입으로 변환하여 리턴.
- java.util.Scanner 클래스
- System.in 에게 키를 읽게 하고, 읽은 바이트를 문자, 정수, 실수, Boolean, 문자열 등 다양한 타입으로 변환하여 리턴.
- 객체 생성
import java.util.Scanner; // import문 필요. ... Scanner a = new Scanner(System.in); // Scanner 객체 생성
Scanner 동작 과정 - System.in 에게 키를 읽게 하고, 원하는 타입으로 변환하여 리턴
- Scanner에서 키 입력 받기
- Scanner는 입력되는 키 값을 공백으로 구분되는 아이템 단위로 읽음
- 공백 문자 : ‘\t’, ‘\f’, ‘\r’, ‘\n’
- 개발자가 원하는 다양한 타입의 값으로 바꾸어 읽을 수 있다
Scanner 이용한 키 입력
Scanner 주요 메소드
String next() // 다음 토큰을 문자열로 리턴
byte nextByte() // 다음 토큰을 byte 타입으로 리턴
short nextShort() // 다음 토큰을 short 타입으로 리턴
int nextInt() //다음 토큰을 int 타입으로 리턴
long nextLong() //다음 토큰을 long 타입으로 리턴
float nextFloat() //다음 토큰을 float 타입으로 리턴
double nextDouble() //다음 토큰을 double 타입으로 리턴
boolean nextBoolean() //다음 토큰을 boolean 타입으로 리턴
String nextLine() // '\n'을 포함하는 한 라인을 읽고 '\n'을 버린 나머지 문자열 리턴
void close() // Scanner 의 사용 종료
boolean hasNext() // 현재 입력된 토큰이 있으면 true, 아니면 입력 때까지 무한정 대기, 새로운 입력이 들어올 때 true 리턴, ctrl-z 키가 입력되면 입력 끝이므로 false 리턴
Scanner를 이용한 키 입력 예제
import java.util.Scanner;
public class ScannerEx {
public static void main(String[] args) {
System.out.println("이름, 도시, 나이, 체중, 독신 여부를 빈칸으로 분리하여 입력하세요");
Scanner scanner = new Scanner(System.in);
String name = scanner.next(); //문자열 읽기
System.out.println("name = " + name + ",");
String city = scanner.next();//문자열 읽기
System.out.println("city = " + city + ",");
int age = scanner.nextInt(); //정수읽기
System.out.println("age = " + age + ",");
double weight = scanner.nextDouble(); //실수 읽기
System.out.println("weight = " + weight + ",");
boolean single = scanner.hasNextBoolean(); //논리값 읽기
System.out.println("single = " + single + "입니다");
scanner.close(); //scanner 닫기
}
}
최대한의 설명을 코드 블럭 내의 주석으로 달아 놓았습니다.
혹시 이해가 안가거나 추가적인 설명이 필요한 부분, 오류 등의 피드백은 언제든지 환영합니다!
긴 글 읽어주셔서 감사합니다. 포스팅을 마칩니다.
Task Lists
- Java 에서 키 입력
- Scanner 키 입력
- Scanner 주요 메소드
- Scanner를 이용한 키 입력 예제
Comments