문자타입
문자형 : 한글자만 저장합니다. 문자 하나를 저장하기 위한 타입
반드시 값으로는 문자 하나만 존재해야 하며, 하나 이상일 경우엔 String(문자열)에 저장합니다.
char타입은 정수 타입입니다.
- 크기는 음수가 없는 2byte의 범위를 가집니다. (0 ~ 65,535)
- 문자값을 표현할 때에는 반드시 홀따옴표를 이용.
- 정수타입이기 때문에 int에 프로모션 가능.
- int값 또한 문자로 변경 가능 (cast)
package jun02;
public class DataType04 {
public static void main(String[] args) {
char ch = '가'; // 문자열 "", 캐릭터 ''
ch = 'A';
ch = '價';
ch = '\ub059'; // 유니코드 표기, 아스키코드
System.out.println(ch); // 끙
String str = ch + ""; // 캐릭터 + 문자열 = 연결
System.out.println(str); // 끙
// 0 1 2 3 4
str = "안녕하세요";
System.out.println(str); // 안녕하세요
// 문자열 자르기 -> char타입으로 나옴
ch = str.charAt(0); // charAt()
System.out.println(ch); // 안
ch = '9';
System.out.println(ch); // 숫자x, 문자 '9' (문자리터럴)
int ch2 = 3;
System.out.println(ch + ch2); // 60 (57 + 3)
// 아스키코드에서 문자'9' = 57
}
}
* 아스키코드 : 0에서 127까지의 숫자를 이용하여 문자를 표현.
1바이트로 구성, 8비트(==1바이트) 중 7개의 비트만 사용.
(1비트는 Parity Bit _오류 체크를 위한 비트로 사용)
* 유니코드 : 2바이트, 즉 16비트로 문자를 표현.
Plane이라 불리는 17개의 영역이 각각 2^16개의 문자를 표현. (총 1,114,112 )
package jun02;
public class DataType04 {
public static void main(String[] args) {
char ch = '가';
ch = '9';
System.out.println(ch);
int num = 33;
// ch = num; // 불가능
ch = (char) num; // 형변환 (숫자 -> 문자)
System.out.println(ch); // !
// 아스키코드에서 33 = !
// ch = ch + 9; // 불가능
ch = (char) (ch + 9); // 형변환 (숫자계산후 -> 문자)
System.out.println(ch); // *
// 아스키코드에서 (33+9=42) = *
System.out.println( (char) 65 ); // A
System.out.println( (char) 66 ); // B
System.out.println( (char) 67 ); // C
System.out.println( (char) 68 ); // D
for (int i = 97; i < 123; i++) {
System.out.println( (char) i );
}
System.out.println(""); // a ~ z
for (int i = 65; i < 91; i++) {
System.out.println( (char) i );
}
System.out.println(""); // A ~ Z
// for구문_반복문
}
}
10진수 2진수
0 0
1 1 = 1비트
2 10
3 11
4 100
5 101
6 110
7 111 = 3비트 = 2^2 + 2^1 + 2^0
8 1000
9 1001
10 1010 = 4비트
... ...
int타입 하나 선언할 때마다 4byte의 메모리 공간 차지(점유)하게됨. (1바이트 = 8비트)
지금은 int나 double로만 사용하지만, 현업에서는 byte등 다른 타입 필요할수도 있음.
논리타입
package jun02;
/* 불리언 boolean
** 저장할 수 있는 값 : true 참 ON 1 / flase 거짓 OFF 0
*/
public class DataType05 {
public static void main(String[] args) {
boolean check = false; // 상태
System.out.println( 1 + 2 == 3 ); // true
// ==(등호두개) 같아?
// 다르게 표현
boolean check2 = 1 + 2 == 3;
System.out.println(check2); // true
boolean check3 = true; // 상태
System.out.println(!check3); // false
// 반전 not
}
}
'국비과정 > JAVA (기초)' 카테고리의 다른 글
20230605 _[3일차]_01. 데이터타입 복습 (0) | 2023.06.06 |
---|---|
20230602 _[2일차]_04. 연산자 (1) | 2023.06.04 |
20230602 _[2일차]_02. 데이터타입1 (0) | 2023.06.04 |
20230602 _[2일차]_01. 변수 (0) | 2023.06.04 |
20230601 _[1일차]_03. 클래스 & 메소드 (0) | 2023.06.04 |