03. 상수와 형 변환

DEV_HOYA·2023년 10월 19일

Java

목록 보기
3/12
post-thumbnail

📌 Chapter 03

⭐ 상수(Constants)

  1. 변수가 상수화된 상수(final 선언이 붙은 변수)
final int MAX = 5;
  • 값을 딱 한번만 할당할 수 있다.
  • 한번 할당된 값은 변경이 불가능 하다.
  • 상수의 이름은 모두 대문자로 짓는 것이 관례이다.
  • 이름이 둘 이상의 단어로 이뤄질경우 단어를 언더바( _ )로 연결
  1. 자료형을 기반으로 표현이 되는 상수(리터럴)
int num1 = 123; // 정수형 리터럴
double num2 = 11.3 // 실수형 리터럴
  • 정수는 무조건 int형으로 인식하기로 약속되어 있음

✅ 정수형 상수의 표현방법

int num1 = 11;   // 10진수
int num2 = 011;  // 8진수
int num3 = 0x11; // 16진수

System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
/*
11
9
17
*/

// Long형 표현방법 : 기본으로 int형으로 인식해서 명시적으로 L을 붙여줘야한다.
System.out.println(123456789L);

// 2진수 표현가능 : 앞에 0B를 붙여준다.
int num = 0B11001101;

// 언더바 삽입 가능
int num = 10_000_000;

✅ 실수형 상수의 표현방법

double pi = 3.14;

// float형 표현방법 : 기본으로 double형으로 인식해서 명시적으로 f를 붙여줘야한다.
System.out.println(3.141592f);

// e 표기법
3.4e3 = 3400.0
3.4e-3 = 0.0034

✅ 부울형 상수의 표현방법

  • true, false

✅ 문자형 상수의 표현방법

char ch1 = '동';

// 이스케이프 시퀀스
'\b' // 백스페이스 문자(지우기)
'\t' // 탭 문자 
'\\' // \ 문자
'\'' // ' 문자
'\"' // " 문자
'\n' // 개행문자
'\r' // 캐리지 리턴 문자 : 커서를 왼쪽 끝으로 이동시킴

⭐ 형 변환

✅ 자동 형 변환(Implicit Conversion)

short n1 = 10;
short n2 = 20;
int n3 = n1 + n2;
/*
자바는 기본적으로 연산을 할때 int형으로 변환해서 한다.
따라서 n1, n2에 저장되있는 값이 short형에서 int형으로 바뀌고 덧셈이 이루어진다.
*/

int num1 = 50;
long num2 = 314157298L;
System.out.println(num1 + num2);
/*
num1에 저장된 값이 long형으로 자동형변환이 된다.
*/

  • 규칙 1. 자료형의 크기가 큰 방향으로 형 변환이 일어난다.
  • 규칙 2. 자료형의 크기에 상관 없이 정수 자료형보다 실수 자료형이 우선한다.
    => 대전제는 데이터 손실을 최소화하겠다.

✅ 명시적 형 변환(Explicit Conversion)

  • 자동 형 변환이 일어나지 않는 상황에서 강제적으로 형 변환
  • 데이터의 손실이 생길 수 있음
// ex1
double pi = 3.1415;
int num1 = (int)pi;
long num2 = (long)1.994;

// ex2
long a = 300000006L;
int b = (int)a;

// ex3
short s1 = 1;
short s2 = 2;
short s3 = (short)(s1+s2); // 덧셈하기전 int형으로 바뀌므로 short형으로 강제형변환을 해야한다.

0개의 댓글