System.in
- 키보드로부터 직접 읽는 자바의 표준 입력 스트림
- 키보드로부터 키를 입력받는 메소드
- 키 값을 바이트(문자 아님)로 리턴
하지만 키 값을 바이트 데이터로 넘겨주므로 응용프로그램이 문자 정보로 변환해야한다는 단점이 있음!
System.in.read( )
int keyCode = System.in.read();
public class WhileKeyControlExample {
public static void main(String[] args) throws Exception{
//throws Exception : System.in.read()메소드에 대한 예외처리코드
int speed =0;
int keyCode =0;
while(true) {
if(keyCode!=13 && keyCode !=10) {
//즉, enter키가 입력되면 아래 문장들을 실행시키지 않는다.
System.out.println("1.증속 | 2. 갑속 | 3. 중지");
System.out.println("choice");
}
keyCode=System.in.read();//키보드의 키 코드를 읽음
if (keyCode==49) { //1을 읽었을 경우
speed++;
System.out.println("현재속도 : "+speed);
}
else if(keyCode==50) { //2를 읽었을 경우
speed--;
System.out.println("현재속도 : "+speed);
}
else if (keyCode==51) break; //3을 읽었을 경우
//break: while문 탈출
}
System.out.println("close");
}
}
Scanner 클래스 (java.util.Scanner 클래스)
- System.in 에게 키를 읽게 하고, 읽은 바이트를 문자, 정수, 실수, boolean, 문자열 등 다양한 타입으로 변환하여 리턴
- Scanner는 입력되는 키 값을 공백으로 구분되는 아이템 단위로 읽음
- 개발자가 원하는 다양한 타입의 값으로 바꾸어 읽을 수 있음
※ 객체 생성
//import 문 필요
import java.util.Scanner;
...
Scanner sc = new Scanner(System.in); //Scanner 객체 생성
※ 공백문자
- \t, \f, \r, ' ', \n
Scanner sc = new Scanner(System.in);
String name = sc.next();
String city = sc.next();
int age = sc.nextInt();
double weight = sc.nextDouble();
boolean single = sc.nextBoolean();
'Programming Language > Java' 카테고리의 다른 글
[JAVA] 데이터타입 - 참조 타입 (0) | 2020.06.04 |
---|---|
[JAVA] break문 사용 (0) | 2020.06.01 |
[JAVA] 임의의 정수 뽑기 (0) | 2020.06.01 |
[JAVA] 제어문 (0) | 2020.05.30 |
[JAVA] 연산자 - 삼항연산자 (0) | 2020.05.28 |