프로그래머 공간/JAVA

[JAVA] 변수 타입(Type)

ikohong 2019. 11. 29. 18:42
728x90
반응형

[JAVA] 변수 타입(Type)

By i!kohong(아이코홍)


Java 변수의 종류

기본 자료형(Primitive Type)

> 가장 많이 쓰는 데이터를 쉽게 사용하기 위해 미리 만들어 놓은 타입. 단순한 데이터를 담는 상자

객체 자료형(Reference Type)

> 복합적인 데이터를 의미, 덩치가 큰 데이터를 담을 때 사용. C 언어에서는 포인터 변수와 같음

 

8bit안에는 0,1 2진수로만 작성이 된다.

예시

byte x = 15; 인 경우

  2의 7승 2의 6승 2의 5승 2의 4승 2의 3승 2의 2승 2의 1승 2의 0승
10진수 128 64 32 16 8 4 2 1
2진수 0 0 0 0 1 1 1 1

-> 2(1) + 2¹(2) + 2²(4) + 2³(8) = 15

 

2진수 11111111의 경우 결과 값이 -1로 나온다.

  2의 7승 2의 6승 2의 5승 2의 4승 2의 3승 2의 2승 2의 1승 2의 0승
10진수 128 64 32 16 8 4 2 1
2진수 1 1 1 1 1 1 1 1
  - 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 +

맨 앞이 1이면 음수가 되어서 -128이 됩니다.

-128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = -1의 결과값을 가지게 됩니다.

 

-128을 표현을 하고 싶다면? 10000000 으로 적으면 됩니다.

  2의 7승 2의 6승 2의 5승 2의 4승 2의 3승 2의 2승 2의 1승 2의 0승
10진수 128 64 32 16 8 4 2 1
2진수 1 0 0 0 0 0 0 0
0 - 128 + 0 0 0 0 0 0 0

소수를 나타내기 위해서는 float,double을 사용하면 됩니다.

데이터 뒤에 d/D, f/F를 붙여서 명확하게 해주는것이 좋다.

 

예를 들면

double d = 1.234D

float f = 1.23F

만일 아무것도 없다면 소수 데이터를 선언한다면 double 타입으로 간주됩니다.

 

,거짓을 나타내는 boolean은 다른 언어와 다르게 true/false만 사용합니다.

> 변수 그 자체를 선언보다는 특정한 로직 제어 시에 더 많이 사용

글자(문자) 하나를 나타내는 char은 알파벳 글자 하나, 한글 문자 하나를 의미합니다.

> char의 경우 ''(작은따옴표)를 이용하며, 2byte로 데이터를 표현합니다.


예시

public class Type {
    public static void main (String[] args){
        byte b = 10;
        System.out.println("variable b : " + b);
        String b2 = Integer.toBinaryString(b);
        System.out.println("b Binary : " + b2 + "\n");
 
        short s = 1000;
        System.out.println("variable s : " + s);
        String s2 = Integer.toBinaryString(s);
        System.out.println("s Binary : " + s2 + "\n");
 
        int i = 10000;
        System.out.println("variable i : " + i);
        String i2 = Integer.toBinaryString(i);
        System.out.println("i Binary : " + i2 + "\n");
 
        long l = 123456789123456789L;
        System.out.println("variable l : " + l + "\n");
 
        float f = 10.0f;
        System.out.println("variable f : " + f + "\n");
        
        double d = 1.2345;
        System.out.println("variable d : " + d + "\n");
 
        boolean boot = true;
        System.out.println("variable boot : " + boot);
 
        boolean boof = false;
        System.out.println("variable boof : " + boof + "\n");
 
        char c = 'A';
        System.out.println("variable c : " + c);
    }
}
728x90
반응형