print (출력 메소드), escape 코드

Brogod97·2022년 12월 7일
0

KH TIL

목록 보기
6/37
post-thumbnail

출력메소드

System.out.print( )

→ `()`안의 변수, 문자, 숫자, 논리 값을 모니터에 출력해주는 메소드
    // System.out.print(): 단순 출력 (출력 후 줄바꿈 X)
    System.out.print("테스트3");
    System.out.print("테스트4");

    // 출력 결과
    // 테스트3테스트4

System.out.println( )

→ print문과 동일하게 출력은 해주지만 출력 후 자동으로 출력창에 줄바꿈을 해주는 메소드
    
    // System.out.println(): 한 줄 출력(출력 후 줄바꿈 수행 == 개행)
    System.out.println("테스트1");
    System.out.println("테스트2");
    
    /* 출력 결과
    테스트1
    테스트2
    */
⇒ `print`와 `println`은 줄바꿈이라는 차이점이 있지만, 괄호 안의 내용이 그대로 출력된다는 것은 동일함

System.out.printf(“%형식”, 변수 등)

→ 정해져 있는 형식에 맞춰서 그 형식에 맞는 값(변수)을 줄바꿈 하지 않고 출력
    %d : 정수형
    %o : 8진수
    %x : 16진수
    
    %c : 문자
    %s : 문자열
    
    %f : 실수(소수점 아래 6자리)
    %e : 지수형태표현
    %g : 대입 값 그대로
    
    %A : 16진수 실수
    %b : 논리형

printf 사용 예시

    // 10 + 5 = 15 로 출력할 경우
    // 길고 오타 가능성 높음
    System.out.println(iNum1 + " + " + iNum2 + " = " + (iNum1 + iNum2));

    // System.out.println("패턴", 패턴에 들어갈 값);
    System.out.printf("%d + %d = %d", iNum1, iNum2, iNum1 + iNum2 );
    System.out.println("안녕");

    /*
    10 + 5 = 15
    10 + 5 = 15안녕 <- printf는 자동 개행 안됨
    */

printfprint와 같이 개행이 되지 않기 때문에 \n과 같은 개행 문자(escape)를 사용하여 다음줄로 개행 가능

int iNum1 = 10;
int iNum2 = 5;

System.out.printf("%d + %d = %d\n", iNum1, iNum2, iNum1 + iNum2 ); // escape
System.out.println("안녕");

/*
10 + 5 = 15
안녕
*/

printf를 쓰면 좀 더 출력 결과를 깔끔하게 정렬할 수 있음

int iNum1 = 10;
int iNum2 = 5;
int iNum3 = 2;
System.out.printf("%d + %d * %d / %d = %d\n",iNum1, iNum1, iNum2, iNum3, iNum1 + iNum1 * iNum2 / iNum3 );

// 10 + 10 * 5 / 2 = 35

printf 정렬 방법

  • %5d : 5칸을 확보하고 오른쪽 정렬
  • %-5d : 5칸을 확보하고 왼쪽 정렬
  • %.2f : 소수점 아래 2자리까지만 표시
int iNum4 = 3;
System.out.printf("%5d\n", iNum4); // 5칸 공간확보 후 오른쪽 정렬
System.out.printf("%-5d\n", iNum4); // 5칸 공간확보 후 왼쪽 정렬

/*
     3
3     
*/

소수점 자리 제어 (반올림 처리)

System.out.printf("%f\n", 2.5);
// 2.500000

System.out.printf("%.2f\n", 2.5); // 소수점 둘째자리 까지만 표시
// 2.50

System.out.printf("%.0f\n", 2.5); printf // 소수점 아래 표시 X
// 3

escape 문자

일반 문자가 아닌 특수 문자를 표현할 때 사용

\ 역슬래시(백슬래시) 사용하여 출력

특수 문자문자 리터럴비고
tab\t정해진 공간만큼 띄어쓰기
new line\n출력하고 다음라인으로 옮김
역슬래쉬\특수문자 사용시 백슬러시()를 넣고 특수문자를 넣어야 함
작은 따옴표\’특수문자 사용시 백슬러시()를 넣고 특수문자를 넣어야 함
큰 따옴표\”특수문자 사용시 백슬러시()를 넣고 특수문자를 넣어야 함
유니코드\u유니코드 표시할 때 사용
System.out.println("\\"); // \
System.out.println("\t"); // 들여쓰기 됨
System.out.println("a\tb\tc\td\t"); // a	   b	   c	   d

// 쌍따옴표 출력시엔 escape 문자를 사용해야 함
System.out.println("'"); // '
System.out.println("\'"); // \
		
System.out.println("\""); // "

%5d\t는 차이가 있음

  • %5d: 스페이스 5칸
  • \t: 탭 1회

유니코드 escape는 거의 쓸 일이 없으니, 체크만 하고 넘어가기

// 유니코드 이스케이프
// 65 == 'A'
System.out.println("\u0041"); // A

유니코드는 16진수로 작성해야 함

0개의 댓글