코드나 정보 등을 '저장' 해두고, 나중에 다시 꺼내어 쓸 수 없을까 ?
그래서 데이터를 저장하는 공간(저장 공간) "변수"가 있다.
변수를 사용해야 되는 이유가 두 가지가 있는데, 첫번째로는 반복되는 값을 쉽게 관리하기 위해서 사용하고, 두번째로는 의미없는 값을 하나의 정보로 만들기 위해 사용한다.
변수를 담기 위해선 자료형이 필요한데, '자료형(data type)'이란 자료의 한 속성으로써 컴퓨터와 프로그래머에게
어떤 종류의 자료를 다루고 있는지 알려 주고, 그 자료가 어떤 값을 가질 수 있는지와 어떤 연산을 할 수 있는지를 제한한다.
자료형에는 기본적으로
- 정수를 다룰 수 있는 자료형 int (크기 : 4byte) Ex) 1, 0, -12, ...
- 실수를 다룰 수 있는 자료형 float (크기 : 4byte) Ex) 0.0F, 1.0F, -5.56F, ...
- 실수를 다룰 수 있는 자료형 double (크기 : 8byte) Ex) 0.0, 1.0, -5.56, ...
- 문자를 다룰 수 있는 자료형 char (크기 : 2byte) Ex) '한', '0', 'A', '.', ...
- 참과 거짓을 다룰 수 있는 자료형 boolean (크기 : 1byte)
- 문자열을 다룰 수 있는 자료형 String (크기 : ???) Ex) "류준원", "ABC", "0", "0.1", "1.0F", ...
이 있다.
변수를 선언하게 되면, '주소'가 저장되게 되는데
변수의 주소란, 변수에 대해서 할당된 기억공간에서 첫번째 바이트의 주소를 의미한다.
JAVA에서는 JVM을 사용하는데, JVM은 공간을 관리해주는 친구로 자동으로 공간을 지정해주고, 주소는 공간을 할당하면
즉시 임의로 지정된다. 형태는 "@해쉬값 (@380fb434)" 으로 주소가 할당된다.
변수의 선언 방법(식별자 규칙)
자료형 변수명 = 초기값; >> 초기값 지정 이유는 '변수 출력의 유무'에 따라 결정됨.
자료형 변수명;
Ex)
int x = 10;
x라는 이름의 저장공간이 할당되고 그 안에 10이 들어간다.
변수 선언 시 주의 사항
- 같은 이름으로 변수를 선언할 수 없다.
- 초기화를 해준다.
- 되도록 선언부(영역 상단)에 한꺼번에 선언한다.
변수명 주의 사항
- 문자로 시작해야 한다.
- 특수 문자를 사용할 수 없다. (단, _는 허용한다.)
- 소문자로 시작한다. (대문자는 Class로 오해할 수 있다.)
- 공백을 사용할 수 없다.
★ 가장 중요한 것은 개발은 다같이 하는 것이기 때문에 의미 있는 이름으로 선언해야 한다 !
연산자 & 연산자 우선순위
만약 오류도 없고, 로직에도 문제가 없는 것 같은데 답이 이상하게 나온다면 '우선순위'를 생각해야 한다.
'연산자의 우선 순위'는 아래의 표와 같다.
우선순위 | 연산자 | 내용 | 우선순위 | 연산자 | 내용 |
1 | (), [] | 괄호, 대괄호 (최우선 연산자) |
8 | & | 비트 단위의 논리 연산자 |
2 | !,~,++, -- | 부정, 증감연산자 | 9 | ^ | |
3 | *, /, % | 곱셈, 나눗셈 연산자 | 10 | | | |
4 | +, - | 덧셈, 뺄셈 연산자 | 11 | && | 논리곱 연산자 |
5 | <<, >>, >>> | 비트단위 쉬프트 연산자 | 12 | || | 논리합 연산자 |
6 | <, <=, >, => | 관계 연산자 | 13 | ?: | 조건 연산자 |
7 | ==, != | 14 | =, +=, -=, *=, /=, %=, <<=, >>=, &=, ^=, ~= |
대입 / 할당 연산자 |
글로 정리하자면 최우선 연산자 > 단항 연산자 > 산술 연산자 > 쉬프트 연산자 > 관계 연산자 > 논리 연산자 > 삼항 연산자 > 대입연산자 순이다. 하나의 수식에 동일한 연산자가 여러개 사용되면 알맞은 방향으로 결합되어 연산되는 성질이 있는데 그것을 '결합성' 이라고 부른다.
그외의 연산자로는
단항 연산자
- !(NOT), !A, 조건식이 참이면 거짓으로, 거짓이면 참으로 변경
삼항 연산자
- ?:, 조건식 ? 참 : 거짓, 조건식이 참이면 참, 거짓이면 거짓
삼항 연산자 전체를 값으로 볼 수 있어야 한다.
Ex) int result = 10 > 11 ? 10 : 11;
가 있다.
'JAVA > JAVA 정리' 카테고리의 다른 글
[JAVA] 배열 (0) | 2023.05.21 |
---|---|
[JAVA] 반복문(for문, while문, do~while문) (0) | 2023.05.17 |
[JAVA] 조건문 (if문, else if문) (0) | 2023.05.16 |
[JAVA] 출력문 (0) | 2023.05.10 |
[JAVA] JAVA란 무엇인가? (0) | 2023.05.07 |