[JAVA] 변수 타입(Type)
[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);
}
}