본문 바로가기
Programming/Java

[Java] 변수의 종류와 Type

by 호호호호히히히히 2020. 9. 6.
728x90
반응형




변수란?


- data를 담아두는 Memory공간

- 변수명으로 접근 가능


 example)

  int num;

  int - 자료형

  num - 변수





JAVA 변수의 종류


- 기본적으로 4가지 변수 존재


example)

public class Variables{


static int classVariables;

int instanceVariables;


public void method(int parameters){


int localVariables;

}

}


1. 클래스 변수 (Class variables)

- 클래스가 처음 호출될 떄 시작하여 프로그램이 끝날 때 소멸

- 자주 사용되고 변함 없는 자료일 경우 클래스 변수에 선언함


2. 인스턴스 변수 (Instance variables)

- 객체가 생성될 때 시작 해당 객체를 참조하는 객체가 없을 때 소멸


3. 지역 변수 (Local variables)

- method안에서만 유효함. 다른곳에서 부를 수 없음


4. 매개 변수 (Parameters)

- method가 호출될 때 시작, method가 끝날 때 소멸




JAVA 변수 기본 타입 


- 범위를 벗어날 경우 OverFlow발생

- Big Data 대두되며 long을 많이 쓰는 추세


 타입

저장공간 

범위 

비고

 int

 정수

 4 Byte

 -2,147,483,648 ~ 2,147,483,647 (약 20억)

 

 long

 정수

 8 Byte

 -9,223,372,036,854,775,808

~ 9,223,372,036,854,775,807

 접미어 L 사용

300_000_000_000_000L

 short

 정수

 2 Byte

 -32,768 ~32,767

 

 byte

 정수

 1 Byte

 -128 ~ 127

 

 float

 부동 소수점

 4 Byte

 약 +-3.40282347E+38F (자릿수 6~7)

 접미어 F 사용

3.39F

 double

 부동 소수점

 8 Byte

 약 +-1.79769313486231579E+308 (자릿수 15)

 

 char

 char

 

 문자 1글자

 UTF-16 문자 인코딩

 boolean

 boolean

 

 true, false만 가능

 논리 값, 참 거짓만 판단




Example)


public class Variables {
public static void main(String[] args)
{
//_는 디버깅시 인지하지 않음
    //범위가 넘어갈 경우 Integer number too large 경고문구
    int myInt = 123_342_453;

//접미에 L, 없을 경우 기본 int로 인식
    long myLong = 123_342_343_234_324L;

//산술
    int answer = myInt + 5;

    double myDouble = 3.3434342342352511231533634323426233646;

//접미에 F, 없을 경우 기본 double 인식
    float myFloat = 3.343434234235F;

//1글자만
    char myChar = 'C';

//논리값
    boolean myBoolean = true;

System.out.println("myInt = " + myInt);
System.out.println("myLong = " + myLong);
System.out.println("answer = myInt + 5 = " + answer);
System.out.println("myDouble = " + myDouble);
System.out.println("myFloat = " + myFloat);
System.out.println("myChar = " + myChar);
System.out.println("myBoolean = " + myBoolean);

}
}



반응형

'Programming > Java' 카테고리의 다른 글

[Java] 규약  (0) 2020.09.07
[Java] 클래스와 객체의 차이(Class & Object)  (0) 2018.03.11
[Java] 자바 기본 정리  (0) 2018.03.11
[Java] 객체지향언어란  (0) 2018.03.11

댓글