나블(나누는블로그)

Java의 정석 3rd Edition 남궁 성 지음 Chapter 02 변수 2.3 형식화된 출력 - printf() 예제 2-5/ch2/printfEx2.java 본문

자바

Java의 정석 3rd Edition 남궁 성 지음 Chapter 02 변수 2.3 형식화된 출력 - printf() 예제 2-5/ch2/printfEx2.java

Nable 2025. 1. 6. 13:15

책의 소스코드를 직접 타이핑하며 컴파일과 실행을 하며 소스코드에 대한 이해를 책을통해 한

본인의 생각과 이해한 과정과 내용을 추가해 주석으로 달아놓았다 :)

 

class Hello 
{
public static void main(String[] args) 
{
String url = "http://www.codechobo.com";
// 리터럴에 10의 제곱을 나타내는 기호 E 또는 e
float f1 = .10f; // 실수형이기 때문에 리터럴.10뒤에 f를 붙혀줌 기본형중 실수형 4byte float 0.10, 1.0e-1
float f2 = 1e1f; // 10.0, 1.0e1, 1.0e+1
float f3 = 3.14e3f; // 
double d = 1.23456789; // 기본형 중 실수형 8byte double

//실수형 값의 출력되는 지시자는 "%f, %e, %g 가 있는데 %f가 주로 쓰이고 %e는 지수형태로 출력할 때, %g는 값을 간략하게 표현할 때
Systehttp://m.out.printf("f1=%f, %e, %g,%n", f1, f1, f1); // 변수 f1를 %f로 %e로 %g 로 출력 
Systehttp://m.out.printf("f2=%f, %e, %g,%n", f2, f2, f2); // 변수 f2를 %f로 %e로 %g 로 출력
Systehttp://m.out.printf("f3=%f, %e, %g,%n", f3, f3, f3); // 변수 f3를 %f로 %e로 %g 로 출력

Systehttp://m.out.printf("d=%f,%n", d); //%f 는 기본적으로 소수점 아래 6자리까지만 출력하기에 소수점 아래 7자리에서 반올림한다 그래서 1.23456789가 1.2345678로 출력됨
Systehttp://m.out.printf("d=%14.10f,%n", d); //%f 사이에 14.10 를 넣어 14는 전체자리수가 14자리 이며 그 14자리 중 소수점아래 10자리로 표현 (공백)(공백)1.2345678900 이렇게 총 14자리가 되며 공백과 소수점도 한 자리씩 차지한다 소수점 아래의 빈자리는 0으로 채우고 정수의 빈자리는 공백으로 채워서 전체 자리수를 맞춘다
// %전체자리.소수점아래자리f
Systehttp://m.out.printf("[12345678901234567890]%n");

//지시자 %s에도 숫자를 추가하면 원하는 만큼의 출력공간을 확보하거나 문자열의 일부만 출력할 수 있다.
// 지정된 숫자보다 문자열의 길이가 작으면 빈자리는 공백으로 출력된다. 공백이 있는 경우 기본적으로는 우측 끝에 문자열(공백말고)을 붙히지만, '-'를 붙이면
// 좌측 끝에 붙인다. 그리고 '.' 을 붙이면 문자열의 일부만 출력할 수 있다. 수
Systehttp://m.out.printf("[%s]%n", url); //문자열의 길이만큼 출력공간을 확보
Systehttp://m.out.printf("[%20s]%n", url); //최소 20글자 출력공간 확보. (우측정렬)
Systehttp://m.out.printf("[%-20s]%n", url); // 최소 20글자 출력공간 확보. (좌측정렬)
Systehttp://m.out.printf("[%.13s]%n", url); // 왼쪽에서 8글자만 출력

}
}