서식화된 문자열(Formatted String)
서식화된 문자열 (Formatted String)
- 화면에 출력할때는 -> printf()
printf("서식문자열", 값1, 값2....)
- 문자열(String)으로 만들때는 -> String.format()
String.format("서식문자열", 값1, 값2....)
- format specifier (서식 지정자)
%d : 십진수 정수로 출력
%f : 실수 출력
%s : 문자열 출력
%c : '문자하나' 출력
%x : 16진수 정수로 출력
%% : % 출력
public class PrintFormatMain {
public static void main(String[] args) {
System.out.println("서식화된 출력: printf(), String.format()");
double pi = Math.PI; // 원주율 상수값 -> 수학 관련 상수 불러오기 Math.
System.out.println(pi);
// printf : print with format
// printf("서식문자열", 값1, 값2....)
// 서식문자열 안에 %로 시작하는 서식문자들..
//System.out.println("원주율 %f\n"); // 오류: MissingFormatArgumentException -> 해결: %f(서식지정자)의 위치에 들어갈 실수값을 준비해야 함
System.out.printf("원주율 %f\n", pi); // %f : 기본 실수 출력 (기본적으로 소숫점 6자리까지 출력)
System.out.printf("원주율 %.2f\n", pi); // %.2f : 실수 출력 (소숫점 2자리까지 서식지정해서 출력)
int age = 10;
short grade = 3;
System.out.printf("제 나이는 %d 살입니다. 학년은 %d 학년입니다\n", age, grade);
System.out.printf("제 나이는 %d 살입니다. 학년은 %d 학년입니다\n", 64, 2);
System.out.printf("%d, %x, %c, %X, %x\n", 65, 65, 65, 63, 63); // %x, %X의 차이: 16진수의 알파벳을 소문자 OR 대문자로 찍는지의 차이
// 출력폭 지정, 좌우 정렬
System.out.printf("|%d|%d|%d|\n", 100, 200, 300);
System.out.printf("|%5d|%5d|%5d|\n", 100, 200, 300); // %5d: 폭5칸, 우측 정렬 (기본)
System.out.printf("|%-5d|%-5d|%-5d|\n", 100, 200, 300); // %-5d: 좌측 정렬
System.out.printf("|%6.1f|\n", 182.364); // 총 6자리, 소숫점 이하 1자리
System.out.printf("제 이름은 [%10s] 입니다. 혈액형은 %c 형입니다.\n", "김만두", 'B');
// % 출력 -> %%
double rate = 134423.0 / 345678.0;
System.out.printf("합격률은 %.1f%% 입니다\n", rate * 100);
// 숫자에 패딩 가능 -> 0 으로 채우기
System.out.printf("|%05d|%05d|%05d|\n", 100, 200, 300);
// format 문자열을 따로 설정해서 사용 가능
String fmt = "주소 : %s, 우편번호[%05d]";
System.out.printf(fmt +"\n", "서울", 12345);
System.out.printf(fmt +"\n", "광주", 45);
System.out.printf(fmt +"\n", "대구", 776);
System.out.println();
// String.format()
// 기본적으로 printf() 와 사용법은 동일함
// 단, 화면에 출력하는게 아니라, 결과를 문자열(String) 으로 만들어서 리턴
String.format("합격률은 %.1f%% 입니다", rate); // 어떠한 결과도 출력 안됨.
String result = String.format("합격률은 %.1f%% 입니다", rate);
System.out.println(result); // 즉, prinft는 서식화된 것을 출력하는 것이고, string.format는 서식화된 문자열을 만드는 것 => 사용방법 동일
}
}
Author And Source
이 문제에 관하여(서식화된 문자열(Formatted String)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@plily93/서식화된-문자열Formatted-String저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)