자신에게 친절할 것 :)

Web Developing/Java

[Java] printf()의 지시자

Tashapark 2024. 3. 15. 22:06
728x90

// 남궁성의 자바의 정석 기초편 듣는 중//

진수는.. 진짜 빨리 익숙해 져야 할 거 같애..

어리버리 얼레벌레인데..

너무 헷갈려..


  • 출력형식 지정을 위해서 printf() 선호

  • 지시자의 개수 만큼 값을 써줘야 함.
  • 개행문자로 줄 바꿈을 해주는 데 os 종류에 따라서 \n 이 안 먹힐 때도 있어서, %n을 쓸 것.

  • 이진문자열 변환은 잘 사용x
  • 출력 시, 접두사는 안 나오는 데 붙이고 싶으면 '%#접두사' 넣어 주기
  • 실수는 주로 f인데 이건 정밀도가 7자리라서.. 그보다 아래 수는 정확하지 않고, 마지막 수는 대개 반올림.
  • %e --> 지수 형식으로 e+02 = 10^2
  • 간략한 형식 %g는 대개 f를 사용해서 7자리로 나타냄. 0으로 나타내는 게 더 편해 보이면 %e로 나타냄.
  • 근데 사실 f보다는 double을 사용하는 것이 훨씬 정확도가 높음.

+... %f, %e 실행부터 자꾸 디버그가 활성화되서.. 문제를 모르겠다가. 변수 클릭하니깐 되던데..

왜 .....이러는 건지를 알 수가 없음.

굳이 클릭을 한 번 더 해야 하는 건지......?

내 거만 그런 건지?

+ 디버그에서 자바 8버전으로 경로가 자꾸 떠서 바꾸란 건가 싶어서 우선 자바 8로 바꿔서

사용중이고, 이클립스 문제 없이 기능함.

... 그러라고 에러가 뜨넥 아닌 거 같긴한데... 모르겠음.

  • - 붙이면 왼쪽 정렬이고, 앞 쪽은 못 채우면 비워두고 소수점 이하는 0으로 채움
  • 소수점까지 전체자리에 포함됨.
  • 부분출력은 .뒤에 써주기
  • 저장할 값이 지정된 수보다 크면 그냥 다 써 줌
 

System.out.printf("[%5d]%n", 10);  // [   10]
System.out.printf("[%-5d]%n", 10); // [10   ]
System.out.printf("[%05d]%n", 10); // [00010]
System.out.printf("[%5d]%n", 1234567);  // [1234567]


double d = 1.23456789;
System.out.printf("%14.6f%n", d); // 1.234568
// 실제로는 다 있지만, 뒷 자리 수는 그냥 반올림이 되는 것.
//그냥 일부러 대괄호를 해서 얼마나 띄어지는 지 보여주는 듯 
	
System.out.printf("[%s]%n", "www.codechobo.com"); // [www.codechobo.com]
System.out.printf("[%20s]%n", "www.codechobo.com"); // [   www.codechobo.com]
System.out.printf("[%-20s]%n", "www.codechobo.com"); // [www.codechobo.com   ]
System.out.printf("[%.10s]%n", "www.codechobo.com"); // [www.codech]

 

728x90
반응형