01.18 변수
2023. 1. 18. 21:38ㆍ개발일지
변수
- 단 하나의 값을 저장할 수 있는 기억 공간(메모리 공간)
변수의 선언
- 선언을 하는 이유 : 메모리에 값을 저장할 공간을 마련하기 위해서 선언
- 선언 방법 : 변수타입 변수이름;
- "int age; int num;" or "int age, num;"
변수의 타입
- 값
- 문자 : char
- 숫자
- 정수 : byte, short, int, long
- 실수 : float, double
- 논리 : boolean
변수의 타입(Data type)
- 기본형(Primitiva type)
- 8개 (boolean, char, byte, short, int, long, float, double)
- 실제 값을 저장
- 참조형(Reference type)
- 기본형을 제외한 나머지 타입(String, System 등)
- 객체의 주소를 저장(4 byte)
- 참조형 변수는 null 또는 메모리 주소를 저장
- null은 '어떤 객체의 주소도 저장되지 않음'을 뜻
변수의 초기화
- 변수에 값을 저장하는 방법 : 변수타입 변수이름 = 값;
- "int age; age = 23;" or "int age = 23;" or "int age = 23, num = 32768;"
- 초기화 : 변수에 처음으로 값을 저장하는 것을 의미
기본형(Privitive type)
- 논리형(boolean)
- true와 false중 하나를 값으로 갖으며, 조건식과 논리적 계산에 사용
- 문자형(char)
- 문자를 저장하는데 사용되며, 변수 당 하나의 문자만을 저장할 수 있다.
(각 나라별 언어를 모두 표현하기 위해 나온 코드 체계)
- 문자를 저장하는데 사용되며, 변수 당 하나의 문자만을 저장할 수 있다.
- 정수형(byte, short, int, long)
- 정수 값을 저장하는데 사용되며, 주로 사용하는 것은 int와 long이다. byte는 이진데이터를 다루는데 사용되며, short은 c언어와의 호환을 위해 추가되었습니다.
- 실수형(float, double)
- 실수 값을 저장하는데 사용된다. float와 double이 있습니다.
변수의 종류
- 변수의 종류에는 클래스, 인스턴스, 지역 변수 3가지
상수
- 한 번만의 값을 저장할 수 있는 공간
- 선언 방법 : final 변수타임 변수이름;
- 숫자에 의미있는 이름을 붙여 코드 자체의 가독성을 늘리기 위해 상수를 사용
리터럴
- 그 자체로 값을 의미하는 것
- Java에서 상수를 '한 번만 값이 저장 가능한 변수'라는 의미로 사용하기 때문에 이를 구별하기 위해 사용하는 용어
변수, 상수, 리터럴 구별하기 (아래 예제코드를 사용하여 변수, 상수, 리터럴을 구별)
- score : 변수
- finalScore : 상수
- 100, 1000 : 리터럴
리터럴의 접두사와 접미사
- 정수형
- 정수형의 Int, 실수형의 double은 기본형이기 때문에 접미사를 붙이지 않고, long 타입은 구분을 위해 100L처럼 리터럴 마지막에 접미사로 L을 붙입니다.
- byte, short 타입의 변수도 마찬가지로 리터럴 접미사가 존재하지 않고 int 타입과 똑같은 리터럴을 사용하여 저장
(연산에 이용하기보다는 저장 목적인 경우가 많아 Java의 내장 변환모듈이 자동으로 형변환 시켜줍니다.)
- 실수형
- float의 리터럴에는 f, double의 리터럴에는 d가 붙습니다.
- 실수형은 2개 밖에 존재하지 않기 떄문에 접미사 f를 사용하면 구분을 할 수 있어서 접미사 d는 생략을 허용합니다.
- 따라서, 리터럴에 붙이는 접미사는 정수형의 L, 실수형의 f만 주의하면 됩니다.
변수와 리터럴의 타입 불일치
- 범위가 '변수 > 리터럴'인 경우 : OK
- int i = 'A'; int > char, 'A' = 65
- long l = 123; long > int
- double l = 3.14f; double > float
- 범위가 '변수 < 리터럴'인 경우 :Error
- int i = 30_0000_0000; int의 범위 (대략 20억)를 넘습니다.
- long l = 3.14f; long < float
- long(8bye), float(4byte)라 가능할 것 같지만 실수형은 정수형 보다 저장 범위가 훨씬 넓기 때문에 Error가 발생합니다.
- float f = 3.14; float < double;
- byte, short 변수에 int 리터럴 저장 : OK
- 단, 변수의 타입의 범위 이내여야 합니다.
타입간의 변환방법
문자와 숫자간의 변환
- 숫자를 문자로
- 숫자 + '0' → 문자
- 문자를 숫자로
- 문자 - '0' → 숫자
문자열로의 변환
- 숫자를 문자열로
- 숫자 + "" → 문자열
- 문자를 문자열로
- 문자 + "" → 문자열
문자열을 숫자, 문자로 변환
- Integer.parseInt("문자열")
- Double.parseDouble("문자열")
문자열을 문자로
- "문자열".charAt(0)
문자와 문자열
- 문자와 문자열의 차이 확인하기
문자열 결합
두 변수의 값 교환
'개발일지' 카테고리의 다른 글
01.19 조건문과 반복문(플로우차트) (0) | 2023.01.19 |
---|---|
01.18 연산자 (0) | 2023.01.18 |
01.18 프로그래밍 언어와 Java의 시작 정리 (2) | 2023.01.18 |
01.18(정리자료) (0) | 2023.01.18 |
01.14 (0) | 2023.01.18 |