728x90
표준 입출력은 콘솔 화면에 입출력된다고 해서 콘솔 입출력이라고도 한다.
자바에서는 표준 입출력 클래스를 미리 정의해두고 프로그램 시작시 자동 생성되므로 따로 만들 필요는 없다.
<표준 입출력을 위한 System 클래스>
자료형 | 변수 이름 | 설명 |
static PrintStream | out | 표준 출력 스트림 |
static InputStream | in | 표준 입력 스트림 |
static OutputStream | err | 표준 오류 출력 스트림 |
out, in, err 모두 static 변수로 System 클래스를 생성하지 않고 System.in / System.out / System.err 이렇게 쓸 수 있다.
1. System.in으로 화면에서 문자 입력받기
입출력에 관한 코드를 구현하면 예외 처리를 해야한다.
System.in.read(); // 한 바이트씩 읽기
System.in.read() | 한 바이트 자료 읽기 아스키코드 값으로 반환 |
2. 그 외 입력 클래스
1. Scanner 클래스
Scanner 클래스는 java.util 패키지에 있는 입력 클래스다.
Scanner scanner = new Scanner(System.in); // Scanner 생성
scanner.nextLine(); // 문자열 읽기
<Scanner 생성자>
생성자 | 매개변수 | 설명 |
Scanner(File source) | 파일 | Scanner 생성 |
Scanner(InputStream source) | 바이트 스트림 | |
Scanner(String source) | String |
<Scanner 클래스 메서드>
boolean nextBoolean() | boolean 자료형 읽기 |
byte nextByte() | 한 바이트 자료 읽기 |
short nextShort() | short 자료형 읽기 |
int nextInt() | int 자료형 읽기 |
long nextLong() | long 자료형 읽기 |
float nextFloat() | float 자료형 읽기 |
double nextDouble() | double 자료형 읽기 |
String nextLine() | String 자료형 읽기 |
2. Console 클래스
Console 클래스는 콘솔에서 자료를 입력받을 때 사용하는 클래스다.
Console console = System.console(); // 콘솔 클래스 반환
console.readLine(); // 문자열 읽기
<Console 클래스 메서드>
String readLine() | 문자열 읽기 |
char[] readPassword() | 사용자에게 문자열을 보여주지 않고 읽기 |
Reader reader() | Reader 클래스 반환 |
PrintWriter writer() | PrintWriter 클래스 반환 |
<System.in & Scanner & Console 비교>
1) System.in
- 바이트 단위로만 자료 읽음
- 한글을 읽으려면 보조 스트림을 추가로 사용해야함
2) Scanner
- 다양한 자료형으로 읽을 수 있음(한글도 읽을 수 있음)
- Console 보다 Scanner 를 더 많이 사용
3) Console
- 문자열 읽을 수 있음
728x90
'Java > Do It! 자바 프로그래밍' 카테고리의 다른 글
[JAVA] 15-4. 문자 단위 스트림 (0) | 2022.05.11 |
---|---|
[JAVA] 15-3. 바이트 단위 스트림 (0) | 2022.05.11 |
[JAVA] 15-1. 자바 입출력_자바 입출력과 스트림 (0) | 2022.05.11 |
[JAVA] 14. 예외 처리 (0) | 2022.05.11 |
[JAVA] 13-3. 스트림 (0) | 2022.05.10 |