컴퓨터프로그래밍/JAVA

자바 변수이해하기

zelkova 2013. 7. 31. 09:04

 <목차로 돌아가기>


  자바 변수의 이해


컴퓨터에 저장공간이 있다는건 모두 아시죠?

저장공간은 크게 둘로 나눌 수 있습니다.

메모리와 하드디스크입니다.


하드디스크는 용량이 커다란 대신에 처리속도가 느립니다.

메모리는 용량이 하드디스크보다 적은 대신 읽고 쓰는 속도가 빠릅니다.

따라서 하드에서 CPU로 자료를 옮겨서 처리하려면 엄청난 시간이 걸리기 때문에 메모리에 하드에있는 자료를 옮겨서 CPU로 빠르게 전달하는 것이죠


갑자기 저장공간에 대한 이야기를 하는 이유는 바로 변수를 설명하기 위해서 입니다.

메모리는 처리속도가 빠른대신에 용량이 제한적입니다.


그러므로 제한된 메모리를 최대한 효율적으로 나누어 빠르게 CPU에 전달하기 위한 목적으로 사용 합니다.  

우선 자료를 컴퓨터에 제공하기 전에 그 자료를 담을 공간을 만드는 방법을 알아 봅시다.


 



이것을 우리는 데이터형 이라고 합니다.

사용할 데이터의 크기보다 작거나 크지 않고 적당한 크기에 집어 넣는 것이 프로그램 최적화의 지름길 입니다.


변수를 담는 그릇을 데이터형 이라고 데이터형의 형식과 크기는 아래와 같습니다.

 


구분

데이터형

크기

정수

byte

1byte

short

2byte

int

4byte

long

8byte

실수

float

4byte

double

8byte

문자

char

2byte

논리

bloolean

true

false



데이터형의 크기를 벗어나면 원하지 않는 결과가 나타날 수 있습니다. 이를 오버플로(Overflow)라고 합니다. 


0.23214 X 0.48382 과같은 숫자는 크기가 커지게 되지요. 이럴때는 float 나 Double을 사용해서 처리합니다.


보통 int형으로 대부분 처리가 가능합니다.


데이터형의 크기를 얼마나 자유자재로 사용하느냐에 따라서 프로그램의 속도차이가 달라집니다.

프로그램을 코딩하면서 데이터형에 맞는 선택해서 사용하도록 노력해보세요



이제 데이터형을 이용해 변수를 만들어 보도록 하겠습니다.

변수를 선언하는 방법은 아래와 같다.


저장할 데이터형의 유형   저장할 변수의 이름 = 데이터유형과 맞는 값;


여기서 주의할점! 실수형 같은 경우는 1.0f 와 같이 뒤에 f가 붙는다.


 변수형 선언 규칙



위의 그림과 같고 배운것을 사용해서 컴파일 해 봅시다.

 

Stest.java

public class Stest{
 public static void main(String[] args){
  int a =1;
  System.out.println(a+"=This is my first program");
 }
}

 




  데이터형의 이해


데이터형은 숫자, 문자, 문자열과 같은 데이터를 담기 위해 선언하는 데이터 구분자입니다. 

위에서 공부했던 int, short, float 등이 데이터 형입니다.

 

데이터형은 크게 두가지로 나뉩니다.

 



예를 들어 숫자 중에서도 정수형을 담기 위해 선언하는 데이터형에는 int형이 있고 문자열에는 String 형이 있습니다. 대표적인 이 두 데이터형은 서로 다른 이름으로 불립니다. 먼저 int형은 기본 데이터형이라 불리며 String 형은 참조형이라 불립니다.

 

1.기본 데이터형(primitive Data Type)

기본 데이터형은 정수형, 실수형, 문자형, 논리형과 같은 데이터를 담기 위한 데이터형입니다.

 

2.참조형(Reference Data Type)

참조형은 어떤 특정 영역을 참조한다는 것을 말합니다. 여기서 말하는 특정 영역은 자바 가상 머신에 있는 힙 영역이라 불리는 메모리 영역입니다. 참조형의 대표적 데이터형은 배열, 클래스, 인터페이스 등이 있습니다.



 

    

  변수 이름을 지정할 때 주의할 점


키워드는 자바에서 특정 용도로 사용하기 위해 미리 예약되어있는 단어이기 때문에 변수명, 클래스명, 변수 이름 및 메소드명으로 사용할 수 없습니다.

abstract, continue, for, new, switch, assert, default, goto, package, sychronized, boolean, do, if, private, this, break, double, implements, protected, throw, byte, else, import, public, throws, case, enum, instanceof, return, transient, catch extends, int, short, try, char, final, interface, static, void, class finally, long strictfp, volatile, const, float, native, super, while

당연하지만 Byte, short, character, Integer, Long, Float, Double 등을 기본 데이터형에 사용되는 키워드와 혼동하지 말아야 합니다.


식별자는 클래스, 인터페이스, 변수, 메소드, 배열, 문자열 등을 구분하기 위한 이름을 말하며 개발자가 임의로 정의하여 사용할 수 있습니다.

하지만 약간의 제약이 있으므로 아래 규칙을 숙지하기 바랍니다.
1. 식별자의 첫 문자에는 숫자가 올 수 없다.
2. 식별자는 알파벳 대문자, 소문자, 숫자, _(밑줄), $(달러) 로만 구성해야 합니다.
3. 공백은 사용할 수 없습니다.
4. 키워드를 식별자로 사용할 수 없습니다.
5. 대 소문자를 구별하여 사용합니다.
6. 유니코드 문자로 선언할 수 있습니다.
7. 길이 제한이 없습니다.


    

  리터럴


리터럴은 변수에 값을 대입하기 위해 선언하는 값을 말합니다.


리터럴의 종류는 불린,문자,정수(10진수, 8진수, 16진수), 부동소수, 문자열 리터럴 이 있습니다.

이 리터럴은 데이터형이 다른 변수에 들어가면 에러 메시지를 띄웁니다.


때문에 다른 데이텨형을 사용하게 된다면 형식 변환을 맞게 사용해야 에러가 뜨지 않습니다.


리터럴의 타입은 다음과 같습니다. 아래와 같은 형식에 다른 타입의 리털이 대입되면 에러가 뜹니다.


 데이터형

 값

 불린(boolean)

 true, false

 문자(character)

 a, b, c, ......, z

A, B, C, ......, z

특수문자

 정수

2진수 

01010001 

8진수 

07456123 

 16진수

01234579abcdef 

 부동소수

10.12389와 같은 소수 

 문자열

"apple", "가위"와 같은 문자열 





 

 

반응형

'컴퓨터프로그래밍 > JAVA' 카테고리의 다른 글

변수의 구분  (0) 2013.08.08
자바 메소드(함수) 이해하기  (0) 2013.07.31
기본문법, 주석  (0) 2013.07.31
자바프로그램의 이해  (0) 2013.07.31
JAVA 구축후 테스트하기  (0) 2013.07.31