흔히 우리가 알고 있는 변수 선언 타입
논리형boolean checking = true;
문자형
String name = Kong;
정수형
int age = 22;
실수형
float height = 189.5;
변수와 마찬가지로 값을 저장할 수 있는 공간이지만, 변수와 달리 한번 값을 저장하면 다른 값으로 변경할 수가 없다.
상수를 선언하고 싶으면 변수의 타입 앞에 키워드 "final"을 붙여주기만 하면 된다.final int MAX_SPEED = 10;
상수의 이름은 모두 대문자로 하는 것이 암묵적인 관례이고, 여러 단어로 이루어진 경우 " __ "로 구분한다.
원래 "22", "Kong", "189.5"와 같은 값들이 상수인데, 프로그래밍에서 상수를 "값을 한 번 저장하면 변경할 수 없는 저장공간"으로 정의하였기 때문에, 이과 구분하기 위해 상수를 다른 이름으로 불러야만 했다.
리터럴은 쉽게 말하면 기존에 알고 있던 "상수"의 다른 이름이다.int year = 2020; final int MAX_SPEED = 10;
여기서 리터럴은 "2020"과 "10"이다.
변수나 리터럴의 타입을 다른 타입으로 변환하는 것을 말한다.
double d = 85.4; int score = (int)d; // double타입의 변수 d를 int타입으로 형변환
그럼, socre변수에 85라는 정수형값이 저장된다.
: 서로 다른 타입간의 대입이나 연산을 할 때, 형변환으로 타입을 일치시키는 것이 원칙이나 편의상의 이유로 형변환을 생략할 수 있다. 이때, 컴파일러가 생략된 형변환을 자동적으로 추가한다.
float f = 1234; //
float f = (flaot)1234; 과 같다.
서로 다른 두 타입간의 덧셈에서는 두 타입 중 표현 범위가 더 넓은 타입으로 형변환하여 타입을 일치시킨 다음에 연산을 수행한다.
참고 서적 : 자바의 정석