프로그래밍 정리/자바

System.in

주누다 2013. 6. 18. 12:18
반응형

- 표준 입출력 스트림은 미리 생성된 스트림이기 때문에 사용자가 직접 생성할 필요는 없음. 다른 언어에서도 표준 입출력 스트림은 미리 개설해 두는 것을 기본으로 함.


- System.in은 사용 방법은 단순함. 단순히 read()만 호출하면 됨. 

System.in.read()를 호출했을 때 스트림으로 데이터가 들어올 때까지 작업을 진행하지 않고 대기하는 것이 특징.

임의의 데이터를 입력한 후 엔터키를 누르면 그 때 read()가 반응하게 됨.


============================================================================================================


import java.io.IOException;



public class SystemInMain {


public static void main(String[] args) throws IOException{

System.out.print("엔터를 누르세요");

int i = System.in.read();

System.out.println(i);

}

}


============================================================================================================


- System.in.read()라는 구문에서 더 이상 작업을 진행하지 않고 대기하게 됨. 그냥 엔터를 누른다면 13을 출력한 후 종료하게 됨.

13은 '\r'을 의미. 엔터를 누르면 2개의 문자를 읽어낼 수 있음. 위의 예제에서 read()를 한번만 호출했기 때문에 하나의 문자만을 입력받고 작업을 끝낸 것.


============================================================================================================


import java.io.IOException;



public class SystemInMain2 {


public static void main(String[] args) throws IOException {

System.out.println("엔터를 누르세요.");

int i = System.in.read();

System.out.println(i);

i = System.in.read();

System.out.println(i);

}

}


============================================================================================================

- 13과 10이 출력됨. 13은 '\r'에 해당하는 문자이며 10은 '\n'에 해당하는 문자.

============================================================================================================

import java.io.IOException;


public class SystemInMain3 {
public static void main(String[] args) throws IOException {
System.out.println("문자를 입력한 후 엔터를 누르세요?");
int i;
while( (i = System.in.read()) != '\n'){
System.out.println( (char)i + " : " + i);
}
}
}

============================================================================================================

- '\n'을 만날 때까지 모든 문자를 숫자로 출력하는 예. 

- 문자와 수의 출력
-> System.out.println( (char)i + " : " + i);

- 참고1
-> '\n'은 문자. 하지만 숫자로 보아야함. 프로그램에서는 문자에 해당하는 숫자를 문자표에서 찾아서 숫자로 해석하기 때문.



반응형

'프로그래밍 정리 > 자바' 카테고리의 다른 글

일반적인 인터페이스의 구조  (0) 2013.06.19
인터페이스란?  (0) 2013.06.19
표준 출력  (0) 2013.06.18
문자 스트림과 바이트 스트림  (0) 2013.06.18
스트림의 종류  (0) 2013.06.18