Java/Do It! 자바 프로그래밍

[JAVA] 15-2. 자바 입출력_표준 입출력

HSY_mumu 2022. 5. 11. 22:13
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