문자형(char)
(전날에 이어서)
1. 특수문자 다루기
2. char 타입의 표현형식
char 타입에 영문자가 아닌 특수문자를 저장하려면 특수한 방법을 사용한다.
tab
= \t
backspace
= \b
form feed
= \f
new line
= \n
carriage return
= \r
역슬래쉬(\)
= \\
작은따옴표
= \'
큰따옴표
= \"
유니코드(16진수)문자
= \u유니코드
(예: char a = '\u0041')
public class ch2_SpecialCharEx {
public static void main(String[] args) {
System.out.println('\''); // '''로는 표현할 수 없다.
System.out.println("abc\t123\b456"); // \b에 의해 3이 지워진다. (이클립스에서는 안된다)
System.out.println('\n'); // 개행문자 \n
System.out.println("\"Hello\""); // 큰 따옴표를 출력하기 위함
System.out.println("c:\\"); // 역슬래쉬를 표현하기 위함
}
}
char 타입의 크기는 2바이트(16비트)라서 216만큼 코드를 표현할 수 있다.
여기서 특이한 점이 있는데 2개의 변수를 비교해보자.
두가지의 변수 모두 2진수로는 1000001(10진수로 65)의 값으로 저장이 된다.
그러나 println
함수로 출력을 해보면 각각 ch = 'A', s = 65가 출력이 된다.
이러한 이유는 똑같은 값을 저장해도 출력을 할때는 타입까지 해석하여 출력을 하기때문이다.
0207이라는 숫자가 날짜인지(2월7일), 시간인지(2시7분)에 따라 해석하는 방법이 다른것처럼 말이다.