본문 바로가기

Java

[자바의정석/2]변수란

728x90
반응형

변수(variable)

프로그래밍언어에서의 변수란, 값을 저장할 수 있는 메모리상의 공간을 의미한다.

"변수란, 단 하나의 값을 저장할 수 있는 메모리 공간"

 

변수의 선언과 초기화

int age; //age 라는 이름의 변수를 선언

int - 변수타입은 변수에 저장될 값이 어떤 타입인지를 지정하는 것이다.

age - 변수이름

int age = 25; // 변수 age를 선언하고 25로 초기화한다.

int x=0; int y=0;
int x=0, y=0; //변수를 한번에 선언하기도 한다.
"변수의 초기화란, 변수를 사용하기 전에 처음으로 값을 저장하는 것"

두 변수의 값 교환하기

temp = x;
x = y;
y = temp;
//두 변수를 교환하기 이해 임시값을 저장할 변수를 지정한다.

변수의 명명규칙

//대소문자가 구분되며 길이에 제한이 없다.
True != true
//예약어를 사용해서는 안된다.
int
//숫자로 시작해서는 안된다.
7top
//특수문자는 '_'와 '$'만을 허용한다.
S#arp
  1. 클래스 이름의 첫 글자는 항상 대문자로 한다.
  2. 여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자로 한다.
  3. 상수의 이름은 모두 대문자로 한다. 여러 단어로 이루어진 경우 '_'로 구분한다.

변수의 타입

  • 기본형 변수는 실제 값을 저장.

boolean, char, byte, short, int, long, float, double

  • 참조형 변수는 어떤 값이 저장되어 있는 주소를 값으로 갖음.
Date today = new Date();
//Date객체를 생성해서, 그 주소를 today에 저장

상수와 리터럴(constant & literal)

final int MAX_SPEED = 10;
//상수는 변수와 마찬가지로 값을 저장할 수 있는 공간이지만
//변수와 달리 한번 저장하면 값을 변경할 수 없다.
//리터럴은 상수의 다른 이름일 뿐
//그 자체로 값을 의미하는 것
false, true etc

논리형 - boolean

boolean형 변수에는 true, false 중 하나를 저장할 수 있으며 defalut는 false다.

자바는 최소단위가 byte기 때문에 1bit도 충분하지만 크기는 1byte이다.

문자형 - char

문자가 저장되는 것 같지만 사실 문자의 유니코드가 저장된다.

양수만 필요함으로 short와 범위가 다르다.

char ch = 'A';
char ch = 65;
//위 두 변수는 동일한 결과를 얻는다.

정수형 - byte(1), short(2), int(4), long(8)

타입이 표현할 수 있는 값의 범위를 넘어가는 것을 오버플로우(overflow)라고 한다.

보통 int 타입을 사용하며 넘어갈 경우 long타입을 사용한다.

실수형 - float, double

실수형에서 오버플로우가 발생하면 무한대가 되며 반대로 언더플로우가 발생하면 0이 된다.

메모리를 절약하려면 float을 사용하지만 보통 정밀도와 큰 값을 사용할땐 double 사용해야한다.

 

형변환(캐스팅, casting)

다른 타입간의 연산을 수행해야 하는 경우 타입을 일치시켜야 한다.

"변수 또는 상수의 타입을 다른 타입으로 변환하는 것"
double d = 85.4;
int score = (int)d;
//double -> int 형변환

 

한번더 Java를 복기하면서 기초를 다지는 시간이 되었다.

728x90
반응형

'Java' 카테고리의 다른 글

[자바의정석/5]배열이란  (1) 2023.10.20
[자바의정석/4]조건문과 반복문이란  (0) 2023.10.19
[자바의정석/3]연산자란  (0) 2023.10.17
[자바의정석/1]Java란  (1) 2023.10.16
[Java] 람다식(lambda)  (0) 2023.09.17