본문 바로가기
JAVA-Spring/Data type, Operator

JAVA 프로그래밍 [변수] 데이터 타입 1

by Super Santj 2019. 7. 9.

변수(Variable)는 메모리상에 문자, 숫자, 논리적인값을 저장할 공간을 만들어 주는 것, 그리고 무작위로 위치한 데이터의 별칭을 지정해 줌으로 인해 불러올때 보다 간편하게 불러올수있도록 하는 방식이다.

** 중요 **

식별자는 변수, 패키지, 메소드(동사), 클래스 이름을 만들어 주는 규칙이다.
식별자를 생성할때 역시 규칙이 있다.

1. 첫글자는 숫자가 오면 안된다. -> package j0709
2. 영문자 + 숫자 + 특수기호를 조합해서 작성
3. 변수는 명사형으로 오는것이 좋다.
4. 특수기호는 _ 와 $는 사용이 가능하다.
5. 대소문자를 구별한다.
6. 예약어는 변수 명으로 사용이 불가능하다.

** 중요 **

변수를 생성하는 형식으로는

형식 _

자료형(=데이터형태) 변수명; 자바스크립트는 자료형 X

여기서 자료형은 컴퓨터에게 어떤 데이터를, 얼마만큼의 크기로 정할것인가를 지정해 주는 것이다.

새로운 java 파일을 이클립스를 이용 생성한다. (경로는 아무곳이나 상관 없고 public static void main 에 체크 필수)

변수를 생성한 모습

그리고 변수를 사용하는 간단한 구문을 작성하여 보고 실행한 모습을 확인하여 본다면 아래와 같은 결과를 확인할 수 있다.

System.out.println("올해 제 나이는 " + age + "살 입니다."); <= 해당 구문중 + 기호는 결합을 의미한다.
[문자열 + 변수 + 문자열의 구조이다.]


자바 스크립트로 구현을 한다면,
document.write("올해 제 나이는 " + age + "살입니다.<br>"); 과 동일한 맥락이다.

 

변수를 생성하기 위한 8가지 자료형 _

** 중요 **

1.수치형(=숫자)=>정수=>byte->short->int->long
                 소======================>대

 *1)byte=>(-127~128)만 저장==>저장공간 크기(1 byte)
        =>자바에서 기본 데이터 전송단위(채팅->문자열)
          *****************************
  2)short ->2byte기억공간 크기(-32768~32767)
 *3)int => 4byte 기억공간 크기만큼 저장이 가능
          (-2147483648~2147483647)=>-21억 ~ 21억
        =>자바에서의 기본 연산단위로 사용(+,-,*,/ =>산술연산자)
          *******************************
 *4)long =>8byte 기억공간 크기만큼 저장이 가능
         만약에 long형으로 저장하라=>저장하는 값뒤에 L or l를 써주어야한다.

** 중요 **

자료형을 이클립스를 이용 범위에 맞게 또는 맞지 않게 변수를 만들어 보자.

byte b = 23;
short c = 12; 
byte sum = b + c;  *오류 Type mismatch (데이터 타입이 맞지않는다는 오류를 뜻함)
System.out.println("sum="+sum);

해당 구문에 오류가 나게되는 이유는 각 변수에 데이터 값은 범위에 알맞게 생성이 되었으나, sum 이라는 변수에 나온 값은 byte의 범위 이외의 값이 나왔기에 에러가 발생을 한다. 이 경우 byte 보다 범위가 넓은 int를 대입하면 된다.

byte b = 23; 
short c = 12;  
int sum = b + c; 
System.out.println("sum="+sum);

실행 결과는 아래와 같다.

우리는 데이터 숫자 데이터 타입을 간략하게 익혔다. 다음은 숫자 자릿수에 대해 오류를 보기 위해 예제로 주민등록번호를 변수에 넣어 보도록 하자. 우리는 byte라는 변수를 대입하였다가 오류를 확인하고 int 라는 데이터 타입으로 변경을 하여 오류를 없애려고하였다. 하지만 int의 범위보다 더 큰 숫자를 대입하려면 어떻게 하여야할까?

int no=1234567890000;  *오류 Type mismatch (데이터 타입이 맞지않는다는 오류를 뜻함)

int보다 범위가큰 long 을 사용해보자.

long no = 1234567890000L;

오류가 나지 않는다. 당연한 결과이다 하지만 long형을 사용할경우 데이터 맨 마지막에 반드시 대문자 L 또는 소문자 l값을 넣어주어야 한다. 자바에게 우리는 long 데이터 타입을 사용할것이라는것을 알려주는 방식인것이다. 즉 인식을 시켜주기위해 사용하는것.

추가 적으로 서로 다른 데이터 타입이라 하여도 변수명은 같아선 안된다 반드시 다른 변수명을 사용하여야한다!

byte f; int f; *오류

댓글