• Q&A
  • 회원가입
  • 로그인

[basic] Java - Data Type (데이터 타입) - 자료형 ★

218  
목차
  1. Java 자료형
  2. Primitive Data Types (원시 자료형)
  3. Numbers (숫자)
  4. Integer Types (정수형)
  5. Floating Point Types (부동소수형)
  6. Booleans (참거짓)
  7. Characters (단일문자)
  8. Strings (문자열)
  9. 원시 자료형 vs. 비 원시 자료형

 

※ 예제 출력 코드

 

C:\Users\사용자명>java -Dfile.encoding=UTF-8 Hz.java

 

 

Java 자료형

1. Java는 변수 선언 시, 자료형 지정 필수.

 

public class Hz {

  public static void main(String[] args) {

    int hzNum = 3; // 정수 (integer)

    float hzFloatNum = 3.99f; // 부동소수 (floating point number)

    char hzLetter = 'H'; // 단일문자 (character)

    boolean hzBool = true; // 참거짓 (boolean)

    String hzText = "Homzzang.com"; // 문자열 (String)


    System.out.println(hzNum); // 3

    System.out.println(hzFloatNum); // 3.99

    System.out.println(hzLetter); // H

    System.out.println(hzBool); // true

    System.out.println(hzText); // Homzzang.com

  }

}

 


2. 자료형은 크게 원시자료형과 아닌 경우 2종류로 구분.

 

 

※ 원시 자료형 O 경우. (※ 8개. / 모두 소문자.)

byte, short, int, long, float, double, boolean, char

 

※ 원시 자료형 X 경우. (※ 3개. / 첫 글자 대문자.)

String , Arrays, Classes

 

 

Primitive Data Types (원시 자료형)

※ 8종류이며, 자료형과 크기 지정.

※ 별도의 메서드는 없음.

 

byte 

1 byte 크기. 정수 저장. 

※ -128 ~ 127

 

short

2 bytes 크기. 정수 저장. 

※ -32,768 ~ 32,767

 

int  ★★

4 bytes 크기. 정수 저장. 

※ -2,147,483,648 ~ 2,147,483,647

 

long

8 bytes 크기. 정수 저장. 

※ -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

 

float

4 bytes 크기. 소수 저장. 

※ 10진수 6 ~ 7 자리 저장에 충분.

 

double  ★★

8 bytes 크기. 소수 저장.

※ 10진수 15 자리 저장에 충분.

 

boolean

1 bit 크기.  참거짓 저장.

※ true, false

 

char

2 bytes 크기. 단일문자 저장.

※ 단일문자, 단일ASCII 값.

 

 

Numbers (숫자)

 

※ 원시 숫자 유형은 2종류. (정수형 / 실수형)

※ 숫자 크기에 따라 다름.

 


[정수형] : (예) : 123, -123

 

byte

short

int (※ 자주 사용.)

long

 


[실수형 = 부동소수형]  (예) 123.456, -123.456

 

float

double (※ 자주 사용.)

 

 

Integer Types (정수형)


[byte]

[short]

[int]

[long]

 


[byte]

1 byte 크기. (※ -128 ~ 127 정수)

 

public class Hz {

  public static void main(String[] args) {

    byte mbAge = 127;

    System.out.println(mbAge);  // 127

  }

}

 


[short]

2 bytes 크기. (-32768 ~ 32767 정수)

 

public class Hz {

  public static void main(String[] args) {

    short hzNum = 32767;

    System.out.println(hzNum); // 32767

  }

}

 


[int]

4 bytes 크기. (※ -2,147,483,648 ~ 2,147,483,647 정수)

 

public class Hz {

  public static void main(String[] args) {

    int hzNum = 2147483647;

    System.out.println(hzNum); // 2147483647  

  }

}

 


[long]

8 bytes 크기. (※ -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 정수)

※ 값 뒤에 대문자 L 붙여야 함. (※ 안 붙이면 에러 남.)

 

public class Hz {

  public static void main(String[] args) {

    long hzNum = 9223372036854775807L;

    System.out.println(hzNum); // 9223372036854775807

  }

}

 

 

Floating Point Types (부동소수형)

 

[float]

[double] ★

PS1. float vs. double 정밀도 차이

PS2. Scientific Numbers (과학적 숫자)

 


[float]

4 bytes 크기. 소수 저장. (※ 10진수 6 ~ 7 자리 저장에 충분.)

※ 3.4e−038 ~ 3.4e+038 실수.

※ 값 뒤에 소문자 f 붙여야 함. (※ 안 붙이면 에러 남.)

 

public class Hz {

  public static void main(String[] args) {

    float hzNum = 3.14f;

    System.out.println(hzNum); // 3.14

  }

}

 


[double] ★

8 bytes 크기. 소수 저장. (※ 10진수 15 자리 저장에 충분.)

※ 1.7e−308 ~ 1.7e+308 실수.

※ 값 뒤에 소문자 d 붙여야 함. (※ 안 붙이면 에러 남.)

 

public class Hz {

  public static void main(String[] args) {

    double hzNum = 33.14d;

    System.out.println(hzNum); // 33.14

  }

}

 


PS1. float vs. double 정밀도 차이

 

float: 소수점 6~7 자리.

double : 소수점 15 자리. (더 정확.)

 


PS2. Scientific Numbers (과학적 숫자)

en (또는, En) : 10의 n승 의미.

 

public class Hz {

  public static void main(String[] args) {

    float f1 = 12e3f;

    double d1 = 12E3d;

    System.out.println(f1); // 12000.0

    System.out.println(d1); // 12000.0 

  }

}

 

 

Booleans (참거짓)

[boolean]

※ 1 bit 크기. true (참), false (거짓) 저장 가능.

※ 조건문에서 주로 사용.

 

public class Hz {

 

  public static void main(String[] args) {

    boolean isHzGood = true;

    boolean isHzBad = false;    

    System.out.println(isHzGood);

    System.out.println(isHzBad);

  }

}


 

Characters (단일문자)

[char]

2 bytes 크기. 단일문자 저장. (※ 단일문자, 단일문자의 ASCII 값.)

※ 작은따옴표로 묶음. 

 

PS. ASCII 코드값 확인


[예제1] 단일문자

 

public class Hz {

  public static void main(String[] args) {

    char myGrade = 'F';    

    System.out.println(myGrade); // F

  }

}

 


[예제2] 단일문자의 ASCII값

 

public class Hz {

  public static void main(String[] args) {

    char a = 65, b = 66, c = 67;

    System.out.println(a); // A

    System.out.println(b); // B

    System.out.println(c); // C

  }

}

 


[예제3] 소문자 a~z까지 출력

 

public class Hz {

public static void main(String[] args) {    

    // 알파벳 소문자 출력

    for(char i='a'; i<='z'; i++)  {

    System.out.print(i + " ");

    } 

}

}


결과값:
a b c d e f g h i j k l m n o p q r s t u v w x y z

 

Strings (문자열)

※ String (문자열) 타입은 원시자료형 아님.

※ 첫 글자는 대문자로 표기.

※ 큰따옴표로 묶음.

※ Java에서 너무 자주 사용되어, '특별한 9번째 타입'이라고도 함.

※ String 객체엔 전용 메서드가 존재.

 

public class Hz {

  public static void main(String[] args) {

    String mySite = "홈짱닷컴 Homzzang.com";

    System.out.println(mySite);

  }

}


 

원시 자료형 vs. 비 원시 자료형

[원시 자료형]

 

1. Java 자체에서 미리 정의.

2. 전용 메서드 없음.

3. 항상 값을 갖음.

4. 소문자로 시작.

5. 자료형에 따라 크기 다름.

6. (예) byte, short, int, long, float, double, boolean, char

 


[비 원시 자료형]

※ 비 원시자료형 : '객체' 참조하므로, '참조형 자료형'이라고도 함.

 

1.  프로그래머가 생성. (※ String은 예외)

2. 전용 메서드 존재.

3. null 가능.

4. 대문자로 시작.

5. 모두 동일 크기.

6. (예) Strings, Arrays, Classes, Interface, 기타등등.

 



찾아주셔서 감사합니다. Since 2012