출력 메소드
데이터의 값을 화면에 출력해주는 메소드다.
종류
- System.out.printf()
- System.out.println()
System.out.printf()
- 출력하고자 하는 출력형식을 지정할 수 있다.
- 줄바꿈을 하지 않는다.
형식 지시자
지시자 | 설명 |
%b | boolean 형식으로 출력 |
%d | 10진 정수 형식으로 출력 |
%o | 8진 정수 형식으로 출력 |
%x, %X | 16진 정수 형식으로 출력 |
%f | 부동 소수점 형식으로 출력 |
%e, %E | 지수 표현 형식으로 출력 |
%c | 문자 출력 |
%s | 문자열 출력 |
기타 지시자
지시자 | 설명 |
%8d | 전체 8자리 정수를 오른쪽 정렬하고 왼쪽은 빈 공백으로 채움 |
%-8d | 전체 8자리 정수를 왼쪽 정렬하고 오른쪽은 빈 공백으로 채움 |
%08d | 전체 8자리 정수를 오른쪽 정렬하고 왼쪽은 0으로 채움 |
%8.3f | 정수자리수.소수점자리수(e.g. 12345678.123) |
%.10s | 문자열 10자리 |
형식 지정 오류
public void printMethod() {
int nNum = 10;
int nNum2 = 30;
System.out.printf("%d\n", nNum, nNum2); // 출력 변수가 많은 것은 에러가 나지 않는다.
System.out.printf("%d %d\n", nNum); // ERROR 출력 변수보다 형식 지정이 많을 경우 에러
}
형식 지정 오류 메시지
정수 출력
public void printMethod() {
int nNum = 10;
int nNum2 = 30;
System.out.printf("%d\n", nNum);
System.out.printf("%d + %d = %d\n", nNum, nNum2, (nNum + nNum2));
}
출력값
10
10 + 30 = 40
10진수, 8진수, 16진수, 2진수 출력
- 2진수로 변환하는 지시자가 따로 존재하지 않아 메소드를 사용하여 변환한다.
public void printMethod() {
System.out.printf("10진수: %d\n", 12);
System.out.printf("8진수: %o\n", 12);
System.out.printf("16진수: %x\n", 12);
System.out.printf("2진수 변환: %s\n\n", Integer.toBinaryString(12)); // 2진수 변환
// 8진수와 16진수에 접두사
System.out.printf("8진수 접두사: %#o\n", 12);
System.out.printf("16진수 접두사: %#x\n", 12);
System.out.printf("16진수 접두사: %#X\n", 12);
}
결과값
10진수: 12
8진수: 14
16진수: c
2진수 변환: 1100
8진수 접두사: 014
16진수 접두사: 0xc
16진수 접두사: 0XC
실수 출력
public void printMethod() {
float fNum = 3.14159272f; // 소수점 아래 여섯째 자리 까지 출력
double dNum = 7.89; // 범위가 넘어가면 반올림
// 범위 아래 값이 없을 시 0으로 출력
System.out.printf("%f\t%f\n", fNum, dNum);
System.out.printf("%.3f\t%.3f\n", fNum, dNum);
}
출력값
3.141593 7.890000
3.142 7.890
문자, 문자열 출력
public void printMethod() {
char ch = 'A';
String str = "HelloWorld";
System.out.printf("%c %s\n", ch, str);
System.out.printf("%s %s\n", ch, str); // char도 %s로 출력 가능
System.out.printf("%C %S\n", ch, str); // 대문자로 출력
System.out.printf("%C \"%S\"\n", ch, str); // Escape 문자를 사용
}
출력값
A HelloWorld
A HelloWorld
A HELLOWORLD
A "HELLOWORLD"
응용 출력
public void printMethod() {
String sName = "자체임상실험";
int nAge = 890;
double dHeight = 180.2;
char cGender = 'M';
System.out.printf("Your name is "%s\", Your age is %d, Your heighlt is %.2f, Your gender is %C\n",
sName, nAge, dHeight, cGender);
}
결과값
Your name is "자체임상실험", Your age is 890, Your height is 180.2, Your gender is M
System.out.println()
- 출력형식 지정 불가
- 10진수로만 출력 가능
- 자동 개행
'Developer TABLE > Java' 카테고리의 다른 글
연산자(Operator) (0) | 2021.08.25 |
---|---|
형변환 연산자(Casting) (0) | 2021.08.23 |
입력(Scanner)받기 (0) | 2021.08.20 |