변수에 접근 가능한 범위
특정 코드 블록에서만 사용할 수 있는 변수
형이 변경되는 것
int 변수의 앞에 (double) 과 같이 적어주면 int → double 으로 형이 변환됨package casting;
public class Casting3 {
public static void main(String[] args) {
long maxIntValue = 2147483647; // int 최대값
long maxIntOver = 2147483648L; // int 최대값 + 1 (초과)
int intValue = 0;
intValue = (int) maxIntValue;
System.out.println("maxintValue casting = " + intValue);
intValue = (int) maxIntOver;
System.out.println("maxIntOver casting = " + intValue); // 오버플로우
}
}
// 결과
maxintValue casting = 2147483647
maxIntOver casting = -2147483648
package casting;
public class Casting4 {
public static void main(String[] args) {
int div1 = 3 / 2; // int, int 계산 -> int(1)
System.out.println("div1 = " + div1);
double div2 = 3 / 2; // int, int 계산 -> int(1) -> 자동 형변환 -> double(1.0)
System.out.println("di2 = " + div2);
double div3 = 3.0 / 2; // double, int 계산 -> double(1.5)
System.out.println("div3 = " + div3);
double div4 = (double) 3 / 2; // 명시적 형변환 -> double, int 계산 -> double(1.5)
System.out.println("div4 = " + div4);
}
}
// 결과
div1 = 1
di2 = 1.0
div3 = 1.5
div4 = 1.5