1. 문자형 - char
- 지난 강좌에서 변수선언하면서 자료형의 종류만 보았습니다.
- 자료형은 크게 기본자료형과 참조자료형으로 나뉘는데, 이번에는 그중에 기본자료형 - char만 보겠습니다.
- char는 문자 한 개를 입력하는 자료형입니다.
- 총 2바이트인데, 언어에 따라 1바이트 혹은 2바이트로 구성됩니다.
- 정수로 입력해도 값이 나오는데 이건 아스키코드표의 문자를 반환하기 때문입니다.
- [\uxxx]로 시작하는 것은 유니코드로 인식해서 역시 한 글자를 반환할 수 있습니다.
1) 문자형 변수 선언 문법
char 변수명 = '문자한개작성';
- 실제로 [문자한개작성]이라고 쓰면 에러입니다. 정말 문자를 한 개만 작성해야 합니다.
- 추후, 문자열과 다르기 때문에 반드시 작은 따옴표로만 작성해야 합니다.
2) 문자형 변수 - 문자 작성
- 지난 강좌부터 따라하시던 분들은 위와 같이 패키지와 클래스를 생성해 주세요.
- 패키지와 클래스 생성하는 법을 모르시는 분은 아래 주소를 클릭해 줍니다.
https://ossam5.tistory.com/613
- 우선적으로 문자들만 작성을 해보도록 하겠습니다.
## 문자형 변수 선언1 - Ex01_character.java
package ch02_char_type;
public class Ex01_character {
public static void main(String[] args) {
char ch01 = 'A';
char ch02 = 'a';
char ch03 = ' '; //빈문자열 가능
char ch04 = ''; //에러
char ch05 = 'B '; //에러
char ch06 = '안녕하세요!'; //에러
char ch07; //에러
}
}
- 위와 같이 작성하면 ch01~ch03까지는 잘 선언이 된 것입니다.
- 하지만 ch04~ch05는 에러입니다.
- ch04의 경우 반드시 띄어쓰기를 해야 합니다. 공백을 정말 문자로 알려 줘야 합니다. 추후에 String은 큰따옴표만 쓰고 띄어쓰기를 안 해도 공백으로 인식해서 헷갈리지만 잘 기억해야 할 부분입니다.
- ch05의 경우도 B와 공백, 즉 글자가 2글자입니다. char는 무조건 한 글자로 처리해야 한다고 했죠?
- ch06은 완전 여러 글자를 썼네요. 에러입니다.
- ch07은 모든 자료 유형이 마찬가지겠지만, 선언만 하고 값을 할당하지 않으면 에러입니다.
- 에러를 그냥 두면 보통 프로젝트 전체에 에러가 뜹니다.
- 그래서 보기가 안 좋을 수 있으니 에러문 앞에는 한 줄 주석 //을 처리해서 코드 무효화를 시킵니다.
## 문자형 변수 선언2 - Ex01_character.java
package ch02_char_type;
public class Ex01_character {
public static void main(String[] args) {
char ch01 = 'A';
char ch02 = 'a';
char ch03 = ' '; //빈문자열 가능
//char ch04 = ''; //에러
//char ch05 = 'B '; //에러
//char ch06 = '안녕하세요!'; //에러
//char ch07; //에러
}
}
- 이렇게 처리하면 곧바로는 아니어도 시간이 좀 지나면 에러표시가 모두 사라집니다.
3) 문자형 변수 - 정수 : 아스키코드처리
- char타입의 값에 숫자만 작성해도 인식을 합니다.
- 아스키코드로 인식해서 해당 코드의 문자열을 반환합니다.
- 아스키코드는 0~127까지 있습니다.
## 문자형 변수를 정수로 선언 1 - Ex02_number.java
package ch02_char_type;
public class Ex02_number {
public static void main(String[] args) {
char ch01 = 0;
char ch02 = 65;
char ch03 = 97;
char ch04 = 127;
char ch05 = -10;
char ch06 = 130;
}
}
- 위와 같이 값에 정수를 입력했습니다.
- ch01~ch04까지는 에러가 발생되지 않지만, ch05~ch06은 에러입니다.
- 아스키코드의 수치를 벗어났기 때문입니다.
## 문자형 변수를 정수로 선언 2 - Ex02_number.java
package ch02_char_type;
public class Ex02_number {
public static void main(String[] args) {
char ch01 = 0;
char ch02 = 65;
char ch03 = 97;
char ch04 = 127;
//char ch05 = -10;
//char ch06 = 130;
System.out.println(ch01);
System.out.println(ch02);
System.out.println(ch03);
System.out.println(ch04);
}
}
- 에러가 있는 부분 앞에는 주석을 걸었습니다.
- 주석은 한줄 주석 [ //주석 ]과 여러 줄 주석 [ /* 주석 */ ]으로 나뉩니다.
- 값은 정수로 줬어도, 결과가 어떻게 나오는지 봐야겠죠?
- [System.out.println();]를 통해 콘솔창에 출력을 해보겠습니다.
- 출력 툴팁은 [sysout]을 작성 후 [Ctrl]+[Spacebar]를 처리합니다.
- 행복사는 [Ctrl]+[Alt]+[↓]를 누르면 복제가 됩니다. 코드를 빠르게 작성해 보세요.
- 콘솔창에 실행하는 것은 [Ctrl]+[F11]을 누르면 됩니다.
## 문자형 변수를 정수로 선언 결과2 - Ex02_number.java
- 첫 번째 ch01은 공백으로 처리가 된 것입니다.
- 정수로 썼지만 문자로 반환되는 것이 확인됩니다.
4) 문자형 변수 : 유니코드처리
- 이번에는 유니코드로 작성하는 것을 보겠습니다.
- 유니코드는 '\uxxx' 이렇게 역슬러시를 작성한 코드입니다.
## 문자형 유니코드 예제1 - Ex03_Unicode.java
package ch02_char_type;
public class Ex03_Unicode {
public static void main(String[] args) {
char ch01 = '\u0061';
char ch02 = '\u0077';
System.out.println(ch01);
System.out.println(ch02);
}
}
## 문자형 유니코드 결과1 - Ex03_Unicode.java
- 결과가 잘 출력되는 것을 확인할 수 있습니다.
'컴퓨터언어 > JAVA(자바)' 카테고리의 다른 글
[JAVA강좌] 5강 기본자료형 - 논리관련 - boolean (0) | 2023.12.27 |
---|---|
[JAVA강좌] 4강 기본자료형 - 실수관련 - float, double (0) | 2023.12.27 |
[JAVA강좌] 3강 기본자료형 - 정수관련 - byte, short, int, long (0) | 2023.12.13 |
[JAVA강좌] 1강 JAVA변수와 자료형 (0) | 2023.12.12 |
[JAVA강좌] 인트로 - JAVA소개와 이클립스설치 (0) | 2023.12.11 |