본문 바로가기

프로그래밍/Java

19.10.31) Java-특수문자

목차

  • 특수문자
  • 서식문자
  • 서식문자의 정렬과 소수점 제한 기능

특수문자

특수문자란 특수한 상황에서 사용되는 문자라고 한다. 주로 '\' 이녀석을 사용하는 경우를 말한다. '\'는 escape라는 이름을 가졌다. 뜻대로 무언가를 탈출시키는 기능을 한다. 원래의 기능에서 탈출시킨다. 즉, 기능을 바꿔준다라고 이해된다.

기능을 바꿔준다는 의미를 자세히 살펴보자. 특수문자는 \t, \n, '(작은 따옴표), "(큰 따옴표) 가 있다. 이 문자들은 각자 기능이 있다. t, n은 문자열이고, ', "은 char나 String을 나타낸다.

이스케이프()를 사용하면 저 문자들이 원래 기능이 아니라 다른 기능이 된다. \t : tab, \n : enter, ' : 작은따옴표, " : 큰 따옴표, \ : \ 이다.

서식문자

서식문자란 서식에 사용하는 문자이다. 서식의 의미는 글의 형식이다.
%d : decimal, 10진수
%o : octal, 8진수
%h : hexa decimal, 16진수
%c : char
%s : String
%f : float, double

int num1 = 37;
System.out.printf("오늘의 기온은 %d입니다.\n", num1);
System.out.println("오늘의 기온은 " + 10 + "입니다");
System.out.printf("37의 10진수는 %d입니다.\n", 37);
System.out.printf("37의 8진수는 %o입니다.\n", 37);
System.out.printf("37의 16진수는 %h입니다.\n", 37);
System.out.printf("%c %s\n", 'p', "KIM YOUNG MO");
float num2 = 1.23f;
double num3 = 1.34343d;
System.out.printf("%f %f\n", num2, num3);

왜 쓰는가?

숫자(상수)를 직접 적어도 되지만 복잡하게 서식문자를 사용하는 이유는 무엇일까? 때로는 다른 서버에서 정보를 입력받을 때가 있다. 그 때 서식문자를 활용하면 자유자재로 사용가능하다.

예) 오늘 날씨를 알려주는 어플이라면 매일 기상청에서 정보를 받을텐데, 매일 달라진 기온을 입력하려면 귀찮으니까 시간이 걸린다. 서식문자 사용하면 입력받은 기온이 자동으로 출력된다.

중요!

  • java에서 String과 변수는 '+'라는 연산자로 합칠 수 있다. 정수(상수)는 그냥 String에 들어간다.
int num1 = 10;
System.out.println("오늘의 날씨는 " + num1 + "입니다.");
System.out.println("오늘의 날씨는 10도 입니다.);
  • double 자료형도 서식문자는 %f 사용한다.

서식문자의 정렬과 소수점 제한 기능

정수와 실수의 자릿수를 정할 수 있다.

System.out.printf("오늘의 숫자는 %5d입니다.\n", num1);
System.out.printf("오늘의 숫자는 %4d입니다.\n", num2);

float f = 1.23f;
System.out.printf("float is %.1f\n", f);

'%' 뒤에다 표현할 자릿수를 적으면 된다. 정수는 정수를 실수는 '%.정수' (%.8)라고 적는다.