| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- java
- 콘솔로 변수값 출력
- 백준 문제풀기
- 부호/증감 연산자
- 변수사용범위
- 연산의 방향
- 삼항연산자
- 정수 연산
- 실수 타입
- 데이터베이스
- 논리부정
- 새싹 출력
- 강아지 출력
- oracle
- background-repeat 속성
- 고양이 출력
- CSS 박스모델 구성
- background-size 속성
- CSS
- 자바
- CSS 정리
- 키보드입력데이터
- 위치속성
- HTML
- 연산자
- ul 태그
- 박스 모델의 성격
- 논리연산자
- 이클립스
- 대입연산자
- Today
- Total
너와 나의 개발 고리
[JAVA] chap02 변수와 타입_변수 선언 본문
컴퓨터 메모리(RAM)는 수많은 번지들로 구성된 데이터 공간이다.
변수는 하나의 값을 저장할 수 있는 메모리 번지에 붙여진 이름으로 변수를 통해 프로그램은 번지에 값을 저장하고 읽을 수 있다.
변수 = 하나의 값을 저장할 수 있는 메모리 번지에 붙여진 이름
자바의 변수는 다양한 타입의 값을 저장할 수 없다.
정수형 변수에는 정수값만, 실수형 변수에는 실수값만 저장이 가능하다.

변수를 사용하기 위해선 변수 선언이 필요하다.
변수 선언은 어떤 타입의 데이터를 저장할 것인지 그리고 변수 이름은 무엇인지를 결정한다.

변수 이름은 첫 번째 글자가 문자여야 하며 중간부터는 문자, 숫자, $, _를 포함할 수 있다.
또한 첫 번째 문자를 소문자로 시작하되 *캐멀 스타일로 작성하는 것이 관례다.
| ※ 캐멀(camel) 스타일 코드를 작성할 때 여러 단어를 혼합하여 명명하는 경우 낙타의 등처럼 대소문자가 섞여있도록 작성하는 스타일을 말한다. 자바 소스 파일명과 변수명을 작성할 때 관례적으로 사용한다. 1. 자바 소스 파일명(클래스명)은 대문자로 시작하는 것이 관례 Week.java MemberGrade.java ProductKind.java 2. 변수명은 소문자로 시작하는 것이 관례 score mathScore sportsCar |
변수가 선언되면 값을 저장할 수 있는데 이때 대입 연산자인 =를 사용한다.
수학에서 등호(=)는 '같다'는 의미지만 자바에서는 우측 값을 좌측 변수에 대입하는 연산자로 사용된다.

변수 선언은 저장되는 값의 타입과 이름만 결정한 것이지 아직 메모리에 할당 된것은 아니다.
변수에 최초로 값이 대입될 때 메모리에 할당되며, 해당 메모리에 값이 저장된다.

변수의 값에 최초로 값을 대입하는 행위를 변수 초기화라고 하며 이때의 값을 초기값이라고 한다.
초기값은 변수를 선언함과 동시에 대입할 수도 있다.
int score = 90;
초기화되지 않은 변수는 아직 메모리에 할당되지 않아 변수를 통해 메모리 값을 읽을 수 없다.
int value; // 변수 value 선언
int result = value + 10; // 변수 value 값을 읽고 10을 더햇서 변수 result에 저장
위의 코드 중 value가 선언되었지만 초기화되지 않았기 때문에 value+10에서 value 변수값을 읽어올 수 없다.
변경하면 아래와 같다.
int value = 30; // 변수 value가 30으로 초기화 됨
int result = value+10; // 변수 value 값(30)을 읽고 10을 더해서 result에 저장
아래의 예제는 초기화되지 않은 변수를 연산식에 사용할 경우 컴파일 에러가 발생하는 것을 보여준다.

변수는 출력문이나 연산식에 사용되어 변수값을 활용한다.
아래 예시는 문자열과 결합 후 출력하거나 연산식에서 활용하는 모습을 보여준다.

변수는 또 다른 변수에 대입되어 메모리 간에 값을 복사할 수 있다.

1~3번 내용을 순서대로 정리해보면 아래와 같다.

'JAVA > 이것이 자바다' 카테고리의 다른 글
| [JAVA] chap02 변수와 타입_자동 타입 변환 (0) | 2023.08.03 |
|---|---|
| [JAVA] chap02 변수와 타입_문자열 타입 (1) | 2023.08.03 |
| [JAVA] chap02 변수와 타입_실수 타입 (0) | 2023.08.03 |
| [JAVA] chap02 변수와 타입_문자 타입 (0) | 2023.08.03 |
| [JAVA] chap02 변수와 타입_정수 타입 (0) | 2023.08.02 |