반응형
Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

GBEY

[JAVA] 자바 독학기 #6 - 문자 자료형(feat. 얄팍한 코딩사전) 본문

Back-end

[JAVA] 자바 독학기 #6 - 문자 자료형(feat. 얄팍한 코딩사전)

리스보아 2023. 8. 23. 18:00
반응형

문자 자료형

 

 

👻 목차

char 자료형?

형변환

char 자료형 연산하기

비교 연산자 사용하기

 

 


 

👻 char 자료형?

- 크기: 2byte

- 유니코드상의 문자

- '' 안에 적어서 표현하며, 빈 문자 불가

 

 

특징

- 각 문자는 상응하는 정수를 가짐. 문자의 번호라고 생각하면 됨

아스키 테이블 / 유니코드 에서 맨 왼쪽 숫자 참고!

ex) 'A' : 65, 'B' : 66 ...

 

- 문자에 숫자를 더하면 아스키/유니코드 상 값에 해당하는 문자열을 반환

ex) 'a' + 1 = 'b'

a 는 97, b는 98

 

String str = "a" + 1; // a1

 

 

 

👻 형변환

문자마다 번호가 할당되어 있으므로 char 변수를 int로 형변환 가능함

>> 묵시적, 명시적 모두 가능!

char c1 = 'A';  // c1: 'A' 65
int i1 = (int) c1;  // i1: 65
int i1 = c1; // 묵시적 형변환도 가능

 

따옴표 안의 정수를 정수로 변환하고 싶다면?

Character.getNumericValue() 이용

 

int d1 = Character.getNumbericValue('1');  // d1: 1

 

 

빈 문자열은 str에 넣을 수 없음. string에는 가능

char emp = '';   // Error
String empStr = "";  // empStr: ""

 

 

 

👻 char 자료형 연산하기

char를 정수값과 연산하면 정수형이 됨

int i2 = c1 + 0;  // i2: 65

 

++c1 or --c1도 가능

 

따옴표와 함께 쓴 정수는 정수가 아니라 문자임

char b1 = '1';  // b1: '1' 49
char b2 = '2'  // b2: '2' 50

 

그래서 이 둘을 더하면 3이 아니라 문자열이 됨

char b3 = '1' + '2';  // b3: 'c' 99

 

 

 

 

👻비교 연산자 사용하기

숫자와 비교할 시 정수값 기준으로 비교함

boolean bool1 = '1' == 49;  // true
boolean bool1 = '1' == 1; // false

 

실수와 비교도 가능

boolean bool2 = 'A' > 64.0;  // true
boolean bool3 = 'A' > 66f;  // false

 

문자열은 사전상 먼저 오는 쪽이 작음

>> 나중에 문자열 정렬할 때 등에 사용됨

boolean bool4 = 'A' < 'B';  // true

 

 

반응형