Ex01System
/*
* System.in.read()
* → 입력한 값을 1byte 단위로 처리.
*/
import java.io.IOException;
public class Ex01System {
public static void main(String[] args) throws IOException {
// abc 입력시 1byte 단위로 처리하여 a : 97 만 출력됌
// keyboard 값을 일시적으로 버퍼메모리에 저장 → 메서드는 버퍼에 들어온 데이터를 사용.
System.out.print("키보드로 값을 입력하세요 >> ");
int iv = System.in.read();
System.out.println("iv : " + iv);
char ca = (char) iv;
System.out.println("ca : " + ca);
// Java 'enter' → \\r\\n (2byte)
// 이스케이프 문자 \\r\\n → 타자기처럼 앞으로 갔다가 아래로 떨어짐.
System.in.read(); // \\r
System.in.read(); // \\n
// System.in.skip(2); // (n) n byte 예외처리, read method 사용할 때만 가능.
System.out.print("문자 입력 >> ");
char ch = (char)System.in.read(); // 자료형 형변환 후 변수에 대입.
System.out.println("ch : " + ch);
System.out.println("(int)ch : " + (int)ch);
System.in.skip(2);
System.out.println();
/*
System.out.print("int 문자 입력 >> ");
char ch2 = (char)System.in.read();
System.out.println("ch2 : " + ch2);
System.out.println("(int)ch2 : " + (int)ch2);
System.in.read();
System.in.read();
*/
System.out.print("숫자 입력(0~9) >> ");
int num = System.in.read() - 48;
System.out.println("num : " + num);
}
}