본문 바로가기

Programming/Java

[Java] 자바 표준 입출력 제어

반응형

자바에서는 사용자 요청사항에 대한 응답 메시지를 전달하기 위해 System 이라는 표준 입출력 클래스를 제공한다.

System 클래스는 다음 세 가지 필드를 가지고 있다.

  • err : PrintStream / 표준 에러 출력 스트림
  • in : InputStream / 표준 입력 스트림
  • out : PringStream / 표준 출력 스트림

 

* '스트림(stream)' 이라는 말은 '데이터의 흐름' 정도로 이해할 수 있겠다.

 

세 가지 필드 중에서 출력을 담당하는 out 필드를 사용하면, System.out 의 형태가 된다. 여기에 추가로 어떤 형태로 출력할지를 결정하는 메소드를 사용한다.

  • print()
  • println()
  • printf()

 


 

print()

  • console에 문자를 출력한다.
  • 줄 구분을 위한 Escape Sequences인 '\n' 사용하지 않으면 줄바꿈이 되지 않는다.
System.out.print("Hello ");
System.out.print("There");
// Hello There

 

println(print line)

  • 데이터 출력과 더불어 자동으로 줄바꿈을 수행한다.
  • 줄 구분자 문자열은 시스템 속성 line.separator에 의해 정의되며, 따라서 '\n'을 사용할 필요가 없다.
System.out.println("Hello");
System.out.println("There");
// Hello
   There

printf(print formatter)

  • 지정된 형식(formatted)의 문자열을 출력한다.
  • 사용 방법은 System.out.printf( format, arguments ) 형태로 출력을 원하는 값의 형태 및 값을 넣으면 된다.

 

  • %n : 줄바꿈
  • %s : String 형식으로 출력
  • %d : integer 형식으로 출력
  • %f : float 형식으로 출력
  • %t : date, time 형식으로 출력
  • %o : 8진수 integer 형식으로 출력
  • %x : 16진수 integer 형식으로 출력
  • %b : boolean 형식으로 출력
  • %e : 지수 형식으로 출력

 

printf() 사용 예시

int x = 1.56000

System.out.printf("%.2f", x);
// 1.56
// %.2f = 소수점 이하 둘째 자리까지 출력

 


 

참고

https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/System.html

 

System (Java SE 11 & JDK 11 )

Determines the current system properties. First, if there is a security manager, its checkPropertiesAccess method is called with no arguments. This may result in a security exception. The current set of system properties for use by the getProperty(String)

docs.oracle.com

반응형