print : 괄호안 내용을 단순히 출력. 개행문자(=줄바꿈문자=\n) 포함안됨.
printf : C에서의 printf와 동일. %d, %s 등을 쓰기위해 사용. 개행문자 포함X
println : 괄호안 내용을 출력한 후 마지막에 개행문자가 포함되어 있어 출력후 한 줄 띄워짐.
println()은 가장 기본적인 출력 방법으로, 데이터 뒤에 줄바꿈을 자동으로 추가합니다. 하지만 다음과 같은 한계가 있습니다:
숫자나 문자열의 출력 형식을 세부적으로 조정할 수 없습니다.
예: 정렬, 소수점 자리수, 특정 진법 출력 등
여러 값을 연결하거나 특정 형식을 유지하려면 문자열 결합이 필요합니다.
예: "값은 " + number + "입니다." 와 같은 코드 작성
int a = 10, b = 20;
System.out.println("a: " + a + ", b: " + b);
printf()는 출력 형식을 자유롭게 지정할 수 있는 강력한 메서드입니다. 특정 형식을 지정하는 데 필요한 지시자(format specifier) 를 제공하며, 출력 내용을 정리하거나 보기 좋게 만듭니다.
System.out.printf("형식 문자열", 값1, 값2, ...);
int a = 10, b = 20;
System.out.printf("a: %d, b: %d\n", a, b); // a: 10, b: 20
%d: 10진수 정수
%o: 8진수 정수
%x 또는 %X: 16진수 정수 (소문자/대문자)
int number = 255;
System.out.printf("10진수: %d\n", number); // 10진수: 255
System.out.printf("8진수: %o\n", number); // 8진수: 377
System.out.printf("16진수: %x\n", number); // 16진수: ff
%#o: 8진수에 접두사 0 추가
%#x 또는 %#X: 16진수에 접두사 0x 또는 0X 추가
int number = 255;
System.out.printf("8진수(접두사): %#o\n", number); // 8진수(접두사): 0377
System.out.printf("16진수(접두사): %#x\n", number); // 16진수(접두사): 0xff
%f: 기본적으로 소수점 이하 6자리 출력
double pi = 3.14159265359;
System.out.printf("기본 출력: %f\n", pi); // 기본 출력: 3.141593
%.nf: 소수점 아래 n 자리까지 출력
double pi = 3.14159265359;
System.out.printf("소수점 2자리: %.2f\n", pi); // 소수점 2자리: 3.14
System.out.printf("소수점 4자리: %.4f\n", pi); // 소수점 4자리: 3.1416
%s: 문자열 출력
%.ns: 문자열 중 처음 n 개의 문자만 출력
String text = "Hello, World!";
System.out.printf("전체 출력: %s\n", text); // 전체 출력: Hello, World!
System.out.printf("부분 출력: %.5s\n", text); // 부분 출력: Hello

너비 지정: %n.m 형식으로 전체 출력 너비와 소수점 자릿수를 설정 가능
정렬: 기본은 오른쪽 정렬, %- 사용 시 왼쪽 정렬
System.out.printf("오른쪽 정렬: |%10d|\n", 123); // 오른쪽 정렬: | 123|
System.out.printf("왼쪽 정렬: |%-10d|\n", 123); // 왼쪽 정렬: |123 |
다양한 데이터 타입의 출력 형식을 제어 가능
깔끔하고 가독성 높은 출력 구현
숫자, 문자열, 실수 등을 보기 좋게 포맷 가능