5/9일 사전캠프 2일차 Part 1 (상수와 리터럴)

2023. 5. 9. 19:00개발자 공부/Java

1. 변수, 상수, 리터럴

 

- 변수 : 하나의 값을 저장하기 위한 공간 

- 상수  : 한 번만 값이 저장 가능한 변수한 번만 값이 저장 가능한 변수

   선언 방법 final 변수타입 변수이름;

   즉, 선언과 동시에 초기화 해야한다

- 리털러 : 기존에 알고 있던 상수의 이름으로, 변수나 상수에 대입하는 수 또는 데이터 그자체

 

2. 리터럴의 접미사와 접두사 

리터럴의 종류

- 논리형 (boolean) : boolean형 변수에는 true, false 저장 가능하고, default 값은 false이다.

- 정수형 (byte, short, int, long) : 정수형은 4개의 자료형이 있으며, 각각 저장할 수 있는 범위가 다르다. 

                                                              ( byte : 1 < short : 2 < int : 4 < long 8 → 1 byte 부터 시작해서 8 byte 까지 2배씩 증가)

                                                      byte, short 타입은 int 타입의 리터럴을 사용하지만, 각 변수가 저장할 수 있는 범위 내                                                        의 값이어야한다. (byte 타입 저장 가능 범위 → -128~127)

                                                      int 타입의 범위는 ± 20억으로 범위가 넘어가면 long 타입으로 사용

- 실수형 (float, double) : 실수형은 2개 밖에 존재하지 않으며, float의 리터럴에 접미사 f를 사용하면 구분을 할 수 있                                                 으므로 doble 리터럴 접미사 d는 생략을 허용한다.  

- 문자형 (cher) : 단 하나의 문자만 저장하며, '' 홑따옴표를 사용하여야 한다.

                           /n의 경우 줄바꿈문자로 "개행문자" 라 한다. tab 이나 backspace 같은 특수 문자 앞에 역슬래쉬 "/" 를                               붙여 사용한다

- 문자열 (String) : 두 문자 이상인 여러 문자 저장 가능하며, "" 큰 따옴표를 사용한다.

 

 

3. 변수와 리터럴의 타입 불일치 

 변수에 저장할 리터럴 타입은 변수 타입과 일치하는 것이 일반적이지만 반드시 일치해야하는 것은 아니다. 

1) 범위가 '변수 > 리터럴' 인 경우, 즉 물건보다 담는 그릇이 크다면 괜찮다.

    ex) int i = 'A'; // (int > char), long 1 = 123; // (long > int)

2) 반대로 '변수 < 리터럴' 인 경우, 에러 발생

   ex) int i = 30.000_0000; // int의 범위 ± 20억이 넘어감으로 에러     

3) byte, short 변수에 int 리터럴 저장가능 (변수 타입의 범위 이내일 경우)