자바 기본형
구분 | 저장되는 값에 따른 분류 | 타입의 종류 |
기본 타입 | 정수 | byte, char, short, int, long |
실수 | float, double | |
논리 | boolean |
정수타입
타입 | 메모리 사용크기 | 저장되는 값의 허용 범위 | |
byte | 1byte | 8bit | -128 ~ 127 |
short | 2byte | 16bit | -32,768 ~ 32,767 |
char | 2byte | 16bit | 0 ~ 65535(유니코드) |
int | 4byte | 32bit | -2,147,483,648 ~ 2,147,483,647 |
long | 8byte | 64bit | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
정수 리터럴 예제
리터럴(literal) : 소스코드에서 프로그래머에 의해 직접 입력된 값, 데이터 그 자체.
ex : int i = 11; //11이 리터럴
package sec02.exam01;
public class IntegerLiteralEx {
public static void main(String[] args) {
int var1 = 0b1011;
int var2 = 0206;
int var3 = 365;
int var4 = 0x83;
System.out.println(var1);
System.out.println(var2);
System.out.println(var3);
System.out.println(var4);
}
}
다양한 정수 리터럴을 int타입 변수에 저장하고 값을 10진수로 출력
char타입
문자리터럴 : 하나의 문자를 작은따옴표(')로 감싼 것. 유니코드로 변환되어 저장.
유니코드 : 세계 각국의 문자를 2byte로 표현할 수 있는 숫자(0~65535)로 매핑한 국제 표준 규약
//문자리터럴을 int 타입에 저장할 경우 유니코드 자체 출력됨
char var1 = 'A';
int var2 = 'A';
System.out.println(var1); //A
System.out.println(var2); //65
package sec02.exam01;
public class CharEx {
public static void main(String[] args) {
char c1 = 'A';
char c2 = 65;
char c3 = '\u0041';
char c4 = '가';
char c5 = 44032;
char c6 = '\uac00';
System.out.println(c1);
System.out.println(c2);
System.out.println(c3);
System.out.println(c4);
System.out.println(c5);
System.out.println(c6);
}
}
String 타입
문자열리터럴 : 큰따옴표("")로 감싼 문자
* String 타입은 기본타입이 아닌 클래스 타입이다.
package sec02.exam01;
public class StringEscapeEx {
public static void main(String[] args) {
System.out.println("번호\t이름\t직업");
System.out.println("행 단위 출력\n");
System.out.println("행 단위 출력\n");
System.out.println("우리는 \"개발자\" 입니다.");
System.out.println("봄\\여름\\가을\\겨울");
}
}
실수타입
package sec02.exam01;
public class FloatDoubleEx {
public static void main(String[] args) {
float var2 = 3.14f;
double var3 = 3.14;
//double타입인 var5가 var4보다 두배 이상 정밀한 값으로 출력
float var4 = 0.1234567890123456789f;
double var5 = 0.1234567890123456789;
double var6 = 3e6;
float var7 = 3e6f;
double var8 = 2e-3;
System.out.println(var2);
System.out.println(var3);
System.out.println(var4);
System.out.println(var5);
System.out.println(var6);
System.out.println(var7);
System.out.println(var8);
}
}
논리타입
public class BooleanEx {
public static void main(String[] args) {
boolean stop = true;
if (stop) {
System.out.println("중지합니다");
}else {
System.out.println("시작합니다");
}
}
}
자동타입변환
- 작은타입이 허용 범위가 큰 타입으로 저장될 때 발생
byte < short < int < long < float < double
- 정수타입이 실수타입으로 저장될 때 발생
- char에서 int로 값을 저장할 때 발생 (byte는 char값 저장 불가)
강제타입변환은 캐스팅을 해줘야한다.
- 혼자공부하는 자바(신용권), 한빛미디어
반응형
'개발 > JAVA' 카테고리의 다른 글
[Java] 혼자 공부하는 자바 - 배열(Array) (0) | 2022.06.28 |
---|---|
[Java] 혼자공부하는 자바 - 참조타입과 참조변수 (0) | 2022.06.27 |
[Java] 혼자공부하는자바 - System.in.read()와 Scanner (0) | 2022.06.24 |
[Java] 혼자공부하는 자바 - 시작하기 (0) | 2022.06.21 |
[JAVA] JAVA8에서 JAVA11으로 버전 올리기 (0) | 2022.06.06 |