Java의 기본 타입은, 값의 종류에 따라 크게 3가지로 분류할 수 있다.
(메모리 사용 크기가 큰 것부터 나열한다.)
* 정수 타입 : byte, char, short, int, long
* 실수 타입 : float, double
* 논리 타입 : boolean
Java의 컴파일러는 기본적으로 정수 리터럴은 int 타입으로, 실수 리터럴은 double 타입으로 인식한다.
따라서 정수 타입 변수와 실수 타입 변수를 선언할 때는 둘을 사용하자. (C언어와 똑같다.)
그러나, 아주 큰 정수 타입 값을 저장하고 싶다면 long 타입을 사용해야 한다.
long var1 = 10; // int 타입의 범위를 초과하지 않는 값을 할당 (long으로의 자동 타입 변환)
long var2 = 20L; // 정수 리터럴 끝에 l 또는 L을 붙이면 컴파일러가 long 타입으로 인식
long var3 = 1000000000000; // ERROR: The literal 1000000000000 of type int is out of range
long var4 = 1000000000000L; // 정수 리터럴이 long 타입의 범위를 초과하지 않음
System.out.println(var1);
System.out.println(var2);
System.out.println(var3);
System.out.println(var4);
* 리터럴(literal) : 프로그래머가 소스 코드에 직접 입력한 값을 말한다.
char 타입 변수에는, 하나의 문자를 작은따옴표(')로 감싼 것을 유니코드(0~65535)로 변환하여 저장한다.
또는, 유니코드 값 자체를 정수로 입력해도 된다.
문자 리터럴을 int 타입 변수에 저장하면 유니코드의 값 자체를 저장하므로 주의하자.
char v1 = 'A'; // A의 유니코드 : 65
char v2 = 66; // B의 유니코드 : 66
int v3 = 'C'; // C의 유니코드 : 67
System.out.println(v1); // A를 출력
System.out.println(v2); // B를 출력
System.out.println(v3); // 67을 출력
Java는 논리 리터럴로 true와 false를 사용한다.
논리 리터럴은 boolean type 변수에 저장한다.
boolean stop = false;
boolean state = true;
boolean type 변수는 조건문/반복문의 조건식에 유용하게 사용할 수 있다. (참/거짓을 판별하는 기능)
* String 타입
큰따옴표(")로 감싼 문자(들)은 문자열이다. (유니코드로 변환할 수 없다.)
String은 기본 타입이 아니지만, String 타입 변수를 선언하고 이에 문자열 리터럴을 저장하는 것은 가능하다.
String name = "Elon Musk"
String job = "Techno King of Tesla"
'프로그래밍 언어 > Java' 카테고리의 다른 글
[Java] print(), println(), printf()의 차이 (0) | 2022.01.13 |
---|---|
[Java] 자동 타입 변환, 강제 타입 변환 (0) | 2022.01.13 |
[Java] 변수의 사용 범위 (0) | 2022.01.10 |
[Java] 이클립스 초기화 방법 (0) | 2022.01.10 |
[Java] 프로젝트, 모듈, 패키지, 모듈 기술자 (0) | 2022.01.10 |