변수
변수란? 하나의 값을 저장할 수 있는 저장공간
저장공간, 즉 변수가 필요하면 먼저 변수를 선언을 해야합니다. 변수를 선언하는 방법은 다음과 같다.
-
변수의 선언
" 변수타입 변수명 = 값 "
이렇게 변수를 선언 한 후에는 변수에 대입연산자를 이용해 값을 저장할 수 있다.
변수에 값을 저장할 때는 다음과 같다.
예를들어 정수를 저장할 공간 x에 5라는 값을 저장하고 싶다.
위는 정수를 넣을 변수를 int x로 선언하고 변수 x에 5값을 대입연산자를 통해 저장한 것이다.
이후에 x에 값에 다시 대입하는 코드가 생성된다면 x의 5값은 지워지고 다른 값이 저장되게 된다.
위처럼 변수의 선언과 대입을 아래의 코드와 같이 한 줄로 간단히 할 수 있다.
자바의 자료형은 기본형과 참조형으로 나누어 볼 수 있다.
기본자료형
" 실제 값을 저장 "
변수를 선언할 때 변수에 저장할 값의 종류에 따라 변수의 타입을 선택해야 한다.
타입의 기본형 은크게 정수형, 실수형, 논리형으로 나누어 볼 수 있다.
각 타입의 변수를 선언한 예는 다음과 같다.
● 기본 자료형의 크기 및 범위
- 논리형 boolean : true, false 두 가지 값만 존재
- 문자형 char : 하나의 문자를 저장할 수 있다. 실제로는 문자의 유니코드(정수)가 저장된다.
유니코드는 전부 양수 (0 포함)이므로 0 ~ 65535 의 범위를 가진다.
문자를 코드로 변환하는 것을 문자 인코딩,
코드에서 문자로 변환하는 것을 디코딩이라고 한다.
- 정수형 byte, short, int, long : 크기마다 표현할 수 있는 값의 범위가 다름
- 실수형 float, double : 정수와 달리 부호와 지수, 가수 부분으로 나뉘어 저장된다.
참조형
" 값이 저장되어 있는 주소를 저장 "
참조형 변수란 곧 객체라고 말할 수 있다.
참조형 변수는 메모리의 stack(스택) 영역에 저장되지만 실제 저장되는 값은 데이터가 저장된 메모리의 heap(힙) 영역의 주소 값이다.
- 스택 영역 (stack) "일시적", "지역적 성질 (나만 사용 가능)"
- 함수들이 쌓이는 곳
- 모든 프로그램은 stack을 필요로 한다.
- 힙 영역 (heap) " 영구적 (주소만 살아 있으면) ", "참조하다"
- 데이터들이 쌓이는 곳
- 위치를 알고 있으면 전역적으로 사용이 가능하다.
다음으로 함수의 반환을 받을때에는
Type 변수명 = System.out.append('a');
여기서 Type에는 append 메서드가 반환하는 타입을 넣어주어야 한다.
System.out.append( ); 에서 append라는 method(함수)의 반환타입을 보고 변수의 타입을 선정하여 반환을 받아야 한다.
그러려면 append라는 메서드의 반환타입을 알아야 한다.
아래에서 알아보자.
위처럼 append 메서드 위에 커서를 두면 노란색 창이 뜨는데 앞쪽에 PrintStream이라고 하는 것이 반환타입인 것이다.
즉, 변수를 선언하여 append 메서드의 반환값을 저장하려고 할 때 변수의 타입을 PrintStream으로 해 주어야 한다.
참조형의 반환 값을 변수에 저장하려면 메서드의 반환 타입에 맞게 변수의 타입을 설정하여 받아야 한다.
여기서 보통 문제가 생길 것이다.
PrintStream이라는 자료형에 PrintStream cannot be resolved to a type라는 에러가 뜨게된다.
import java.io.PrintStram; 을 해주면 java안에 io안에 PrintStream이라는 클래스를 사용하겠다는 명령어이다.
'Programming > Java' 카테고리의 다른 글
[Java] 조건문 (if, switch) 개념 및 활용 예제 (0) | 2020.04.13 |
---|---|
[Java] 형 변환 (Type Conversion) - 개념 및 규칙 (강제, 자동) (0) | 2020.04.12 |
[Java] 연산자 (Operator) (0) | 2020.04.12 |
[Java] public static void main(String [] args) 의미 알아보기 (3) | 2020.04.12 |
[Java] 자바의 특징 (0) | 2020.04.12 |