0Pricing
Java Academy · 강의

printf 기초

문자열과 인수를 서식에 맞게 지정합니다

printf 기초은(는) CoddyKit의 무료 Java Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Java Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Java Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

printf를 사용하는 이유

때로는 System.out.println만으로 충분하지 않습니다. 숫자를 가지런히 맞추거나, 소수 자릿수를 줄이거나, 값을 문장 안에 삽입하고 싶을 수 있습니다.

System.out.printf를 사용하면 자리 표시자가 있는 형식이 지정된 문자열을 만들 수 있습니다. 이는 "print formatted"를 줄여 쓴 것입니다.

첫 printf 사용

printf 호출은 format 문자열과 값을 받습니다. 각 자리 표시자는 %로 시작합니다.

여기서 %s는 "여기에 문자열 삽입"을 의미합니다. 쉼표 뒤의 값이 해당 자리를 채웁니다.

public class Main {
    public static void main(String[] args) {
        System.out.printf("Hello, %s!\n", "World");
    }
}

printf는 줄바꿈을 추가하지 않습니다

println과 달리 printf는 자동으로 줄바꿈을 추가하지 않습니다. 커서를 다음 줄로 옮기려면 \n을 직접 추가해야 합니다.

이를 잊으면 두 번의 출력이 한 줄에서 이어져 표시됩니다.

public class Main {
    public static void main(String[] args) {
        System.out.printf("A");
        System.out.printf("B\n");
    }
}

%s 지정자

%s는 문자열 자리 표시자입니다. 텍스트뿐 아니라 대부분의 객체에도 사용할 수 있으며, Java가 객체를 자동으로 텍스트로 변환합니다.

한 번의 호출에서 %s 자리를 여러 개 사용할 수 있습니다. 값은 왼쪽에서 오른쪽 순서로 대응됩니다.

public class Main {
    public static void main(String[] args) {
        System.out.printf("%s likes %s\n", "Ana", "Java");
    }
}

%d 지정자

%d는 정수(int 또는 long)를 형식 지정합니다. d는 "decimal integer"를 의미합니다.

3.5와 같은 소수 값을 %d에 전달하면 오류가 발생하므로 %d는 정수에만 사용해야 합니다.

public class Main {
    public static void main(String[] args) {
        int age = 25;
        System.out.printf("Age: %d\n", age);
    }
}

여러 자리 표시자

지정자는 자유롭게 섞어 사용할 수 있습니다. 각 자리 표시자는 다음 인수를 순서대로 하나씩 사용합니다.

아래에서는 %s가 이름을 사용하고 %d가 점수를 사용합니다.

public class Main {
    public static void main(String[] args) {
        System.out.printf("%s scored %d points\n", "Leo", 42);
    }
}

순서가 중요합니다

인수는 나타나는 순서 그대로 자리 표시자를 채웁니다. 첫 번째 값은 첫 번째 %에, 두 번째 값은 두 번째 %에 들어가며, 이후에도 같은 방식으로 이어집니다.

값의 순서를 바꾸면 출력의 의미도 달라집니다.

public class Main {
    public static void main(String[] args) {
        System.out.printf("%d before %d\n", 1, 2);
    }
}

%% 이스케이프

%가 자리 표시자의 시작을 나타낸다면, 퍼센트 기호 자체는 어떻게 출력할까요? %%를 사용합니다.

format 문자열의 %% 하나는 출력에서 하나의 %가 됩니다.

public class Main {
    public static void main(String[] args) {
        System.out.printf("%d%% done\n", 80);
    }
}

일반적인 이스케이프

format 문자열 안에서는 일반적인 이스케이프 시퀀스를 사용할 수 있습니다. 줄바꿈에는 \n을, 탭에는 \t를 사용합니다.

이를 사용하면 값을 깔끔하게 구분하거나 새 줄로 이동할 수 있습니다.

public class Main {
    public static void main(String[] args) {
        System.out.printf("Name:\tBob\nCity:\tRome\n");
    }
}

printf와 println 비교

하나의 값을 빠르게 출력할 때는 println이 좋습니다. 값을 정확히 어떤 모습으로 표시할지 제어할 때는 printf가 유용합니다.

기억할 규칙은 다음과 같습니다. 자리 표시자, 정렬, 소수 제어가 필요할 때는 printf를 사용하세요.

맞지 않는 유형

지정자는 값의 유형과 일치해야 합니다. 텍스트에 %d를 사용하거나 숫자 형식을 기대하는 곳에 %s를 사용하면 오류나 이상한 출력이 발생할 수 있습니다.

항상 %s는 텍스트와, %d는 정수와 함께 사용하세요.

빠른 확인

printf의 기본 내용을 확인해 보세요.

복습

System.out.printf, 자리 표시자 %s와 %d, %% 이스케이프를 배웠습니다. 또한 printf는 스스로 줄바꿈을 추가하지 않는다는 것도 배웠습니다.

다음에는 정수와 소수를 정밀하게 형식 지정하는 방법을 배웁니다.

자주 묻는 질문

“printf 기초” 강의는 무료인가요?

네 — “printf 기초” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Java Academy 강의 전체를 잠금 해제할 수 있습니다. Java Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“printf 기초”에서 뭘 배우나요?

문자열과 인수를 서식에 맞게 지정합니다 브라우저에서 직접 실행하는 실습 코드로 Java Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Java Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Java Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“printf 기초” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Java Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Java Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. printf 기초
  2. 숫자 및 소수 형식
  3. String.format
  4. 표 정렬하기
← Java Academy(으)로 돌아가기