System 클래스 안의 표준 출력 함수

이지현·2024년 2월 29일

표준 입출력 장치

표준 입력 장치는 키보드, 마우스 등을 말하고, 표준 출력 장치는 모니터, 프린터 등을 말한다.
표준 출력 장치에 출력하기 위한 클래스가 java.lang.System 클래스이다.

java.lang.System.out : 표준 출력
java.lang.System.in : 표준 입력

java.lang.System 에서 java.lang. 을 생략하여 System.out.함수호출() 을 하게 된다.

  1. print()
    기능 : 문자열로 출력
    매개변수 : Object
    리턴값 : 없음

  2. println()
    기능 : 문자열로 출력 + \n(개행)
    매개변수 : Object
    리턴값 : 없음

  3. printf()
    기능 : 원하는 형식의 문자열로 출력
    매개변수 : 문자열, Object...
    리턴값 : 없음

String name = "이지현";
System.out.printf("제 이름은 %s입니다.", name) // 제 이름은 이지현입니다.

printf Conversion 기본 문법

  • String : %s
  • char : %c
  • 정수 : %d
  • 실수 : %f (소수점 6자리까지 출력)
  • boolean : %b
  • 날짜 관련
    • 년 : tY
    • 월 : tm
    • 일 : te
%[argument_index$][ flags ][width][.precision]conversion
%[     	 1$    	 ][0,#,(,,][ 10s ][  정밀도  ]	  d

1. 여백 주기

String name = "이지현";

System.out.printf("%s", name);		// 이지현

System.out.printf("[%s]", name); 	// [이지현]

// 10자리를 확보하고 우측정렬
System.out.printf("[%10s]", name); 	// [       이지현]

// 10자리를 확보하고 좌측정렬
System.out.printf("[%-10s]", name);	// [이지현       ]

2. 일부만 출력

String message = "천방지축 어리둥절 빙글빙글 돌아가는 짱구의 하루";

System.out.printf("%.4s", message);	// 천방지축
System.out.printf("%.4s...", message);	// 천방지축...

3. 진수 변환하여 출력

int n = 50;

// 10진수
System.out.printf("%d", n);		// 50

// 8진수
System.out.printf("%o", n);		// 62
System.out.printf("%#o", n);	// 062

// 16진수
System.out.printf("%x", n);		// 32
System.out.printf("%#x", n);	// 0x32

// # : flag를 붙이는 역할

4. 소수점 n째자리에서 반올림하여 출력

double pi = 3.141592;

System.out.printf("%f", pi);		// 3.141592
System.out.printf("%.2f", pi);		// 3.14
System.out.printf("%.3f", pi);		// 3.142
System.out.printf("[%10.3f]", pi);	// [         3.142]

5. 여백을 0으로 채워서 출력

int no = 1;

System.out.printf("[%d]", no);		// [1]
System.out.printf("[%4d]", no);		// [   1]
System.out.printf("[%04d]", no);	// [0001]

6. 3자리수마다 , 출력

int i = 1000000;

System.out.printf("%,d", i);	// 1,000,000

7. 음수라면 괄호로 감싸서 출력

System.out.prinf("%(d", 123);	// 123
System.out.prinf("%(d", -123);	// (123)

8. char의 출력

System.out.printf("%d, %c", 65, 65);	// 65, A

9. 대문자로 전환해서 출력 (소문자로의 전환은 안 됨)

System.out.printf("%C", 'a');	// A
System.out.printf("%c", 'A');	// A

System.out.printf("%S", "a");	// A

System.out.printf("%X", "a");	// 1E
System.out.printf("%#X", "a");	// 0x1E

10. 매개변수 위치 설정

System.out.printf("%1$d, %1$c", 65)		// 65, A

11. 한 글자 지우고 출력

// \b를 사용하면 backspace를 한 번 누른다는 의미
String hi = "안녕하시렵니까";
System.out.printf("%s\d", hi);		// 안녕하시렵니
// \b 사용 시 깨질 수 있는데, 이클립스 콘솔 버그이고, 윈도우 콘솔에서는 잘 실행됨
profile
병아리 개발자

0개의 댓글