본문 바로가기
프로그래밍 언어/자바

자바 기본 입출력

by 블루데이제이 2022. 9. 9.
728x90
반응형

자바에서 스크린과 키보드를 통합 입출력 방법인 표준 입출력을 제공합니다. 표준 입출력을 제공하는 클래스는 System으로 멤버 변수인 in, out, err 을 이용해서 표준 입력/출력/에러를 제공합니다.

 

자바의 기본 입력

int a = System.in.read();          //아스키 코드 값 1개 입력받기
String str = System.in.readLine(); //문자열 입력받기

자바의 기본 출력

System.out.print(출력);
System.out.println(출력);
System.out.printf("서식", 출력);

입·출력 예외 처리

 

자바에서 입·출력이 이루어지는 부분에서 예외 처리를 하도록 요구하고 있습니다. 자바 입·출력을 처리할 때 우선적으로 검토해야 하는 것이 예외 처리라는 것입니다.

 

예제를 통해 자바 입·출력 및 예외 처리를 알아보도록 하겠습니다.

이클립스를 실행하고 SystemInOut.java를 생성하고 아래와 같이 소스를 저장합니다.

 

public class SystemInOut {
	public static void main(String[] args) {
		System.out.print("입력 = ");
		int a = System.in.read();
		System.out.println("입력한 값은 " + a + "입니다.");
	}
}

그러나 아래와 같이 오류가 발생하는 것을 볼 수 있습니다. 위에서 언급했듯이 입·출력 시 예외 처리를 해야 하기 때문입니다.

 


오류가 난 부분에 마우스 오버 시 처리 방법 팝업이 나타납니다.

public class SystemInOut {
	public static void main(String[] args) throws Exception{
		System.out.print("입력 = ");
		int a = System.in.read();
		System.out.println("입력한 값은 " + a + "입니다.");
	}
}

import java.io.IOException;

public class SystemInOut {
	public static void main(String[] args) {
		
		int a;
		try {
			System.out.print("입력 = ");
			a = System.in.read();
			System.out.println("입력한 값은 " + a + "입니다.");
		} catch (IOException e) {
			System.err.println(e.getMessage());
			e.printStackTrace();
		}
		
	}
}

위의 소스 코드 중 하나의 방식으로 저장하고 실행해봅니다.

 

숫자 9를 입력하고 엔터키를 누르면 a변수 값이 57로 나옵니다. System.in.read()는 입력한 값이 아닌 입력한 값을 ASCII 코드가 출력됩니다.

입력한 값을 그대로 출력하려면 다음 소스코드로 저장합니다.

import java.io.IOException;

public class SystemInOut {
	public static void main(String[] args) {
		
		int a;
		try {
			System.out.print("입력 = ");
			a = System.in.read() - 48;
			System.out.println("입력한 값은 " + a + "입니다.");
		} catch (IOException e) {
			System.err.println(e.getMessage());
			e.printStackTrace();
		}
		
	}
}

위의 결과처럼 9를 입력하면 9가 출력됩니다. 단, 숫자만 입력해야 합니다.

다음과 같이 - 48 대신 - '0'으로 해도 동일한 값이 나옵니다.

a = System.in.read() - 48
a = System.in.read() - '0'

이외에도 여러 가지 경우가 있지만 포스팅을 진행하면서 예제를 통해서 더 익히도록 하겠습니다.

728x90
반응형

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

[자바] for문을 이용한 삼각형 만들기  (0) 2022.09.09
[자바] 구구단 만들기  (0) 2022.09.09
자바 배열  (0) 2019.05.07
자바 제어문 #3(루프 제어문)  (0) 2019.04.21
자바 제어문 #2(반복문)  (0) 2019.04.06