신규 블로그를 만들었습니다!

2020년 이후부터는 아래 블로그에서 활동합니다.

댓글로 질문 주셔도 확인하기 어려울 수 있습니다.

>> https://bluemiv.tistory.com/

관련 글

2017/12/08 - [지난글...(안쓰는 글)] - JAVA :: print와 println

printf

printf는 print, println과는 조금 다른 형식을 가지고 있습니다.

System.out.printf(format, args);

 

여기서 format에는 %d, %f, %s, %c 가 들어갈수 있습니다.

args에는 %* 에 들어갈 인자값이 들어갑니다. (* 안에는 d, f, s, c가 들어갈 수 있음)

public class Ex02 {
 
    public static void main(String[] args) {
 
        //System.out.printf(format, args) 형식
        System.out.printf("정수형 : %d \n", 2);
        System.out.printf("정수형 : %3d \n", 2);
        System.out.printf("정수형 : %03d \n", 2);
        
        System.out.printf("실수형 : %f \n", 2.5555);
        System.out.printf("실수형 : %.3f \n", 2.4444);
        System.out.printf("실수형 : %.2f \n", 2.5555);
        
        System.out.printf("실수형 : %9f \n", 2.5555); // 총 9자리
        System.out.printf("실수형 : %010f \n", 2.5555); // 총 10자리 나머지 앞부분은 0으로 채운다.
        System.out.printf("실수형 : %10.2f \n", 2.5555);
        System.out.printf("실수형 : %010.2f \n", 2.5555);
        
        System.out.printf("문자형 : %c \n", 'A');
        System.out.printf("문자열형 : %s \n", "hello world");
 
    }
}
 

1. 정수형

정수 10진수는 %d를 이용하여 표현을 합니다.

근데 코드를 보면 %3d, %03d 라는 표현이 있습니다.

 

일단 %3d부터 살펴보면..

3자리의 정수형을 표현한다는 뜻으로, 앞에 빈공간 2개가 생기고 그 다음 숫자 2가 출력됩니다. 즉,   2 가 표현이 됩니다.

 

그렇다면 %03d는 무엇일까요?

%3d와는 다르게 앞의 빈공간에 0을 채워서 출력합니다. 002 처럼 말이죠

 

2. 실수형

정수형과 차이점은 크게 없습니다. 실수형 인자를 이용할때는 %f를 사용해야 합니다.

 

만약 내가 소수점 둘째자리까지 출력하고 싶을때는 %.2f 라고 사용을 하시면 됩니다.

그러면 소수점 셋째짜리에서 반올림하여 결과는 소수점 둘째자리까지 출력됩니다.

 

예를들어,

System.out.printf("%.2f",2.441);
System.out.printf("%.2f",2.445);

 

위 두개의 답은 2.44 와 2.45가 됩니다.

 

그렇다면 응용을 해서 %010.2f 를 입력하면 어떻게 될까요?

총 10자리를 입력하지만, 앞자리는 0으로 채웁니다. 그리고 .2는 아까도 말했듯이 소수점 둘째자리까지 표현을 해줍니다.

 

그 결과 값은 0000002.56 가 나옵니다.

근데 결과를 보고 이상하다고 생각하시는분들도 있을겁니다. 분명 10자리가 나와야하는데 숫자만 보면 9자리라는것을 알수 있거든요

그이유는 소수를 표현하기 위한 점( . ) 도 1자리로 취급하기 때문입니다. (숫자 9자리 + 점 1자리 = 총 10자리)

 

3. 문자형

문자형은 캐릭터의 c를 따와 %c라고 표현을 합니다.


보통 문자형을 표현할때는 ''(작은따옴표)를 이용합니다.

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

4. 문자열형

문자열은 %s를 이용합니다.

문자형과는 다르게 문자열은 ""(큰 따옴표)를 이용합니다.

System.out.printf("%s", "hello world");
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기