• 회원가입
  • 로그인
  • 구글아이디로 로그인

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

1,673  
목차
  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, 기타등등.

 



분류 제목
Keyword Java - instanceof 키워드 - 객체가 클래스(또는, 인터페이스)의 인스턴스인지 체크. (= 인스…
Keyword Java - int 키워드 - int 정수 자료형 변수 선언.
Keyword Java - interface 키워드 - 인터페이스 선언
Keyword Java - long 키워드 - long 자료형 정수 담는 변수 선언.
Keyword Java - module 키워드 △ - 모듈 선언.
Keyword Java - native 키워드 △ - 메서드가 동일 Java 소스 파일(다른 언어)에서 구현되지 않도록 지…
Keyword Java - new 키워드 - 새로운 객체 생성 (= new키워드 = 뉴키워드)
Keyword Java - package 키워드 - 패키지 선언.
Keyword Java - private 키워드 - 선언된 클래스 안에서만 접근 가능 설정.
Keyword Java - protected 키워드 - 같은 패키지 및 서브 클래스에서만 접근 가능 설정.
Keyword Java - public 키워드 - 다른 클래스의 접근을 허용. (= 퍼블릭)
Keyword Java - requires 키워드 △ - 모듈 내부에 필요한 라이브러리 지정. (Java 9 이상)
Keyword Java - return 키워드 - 메서드 실행 후, 값을 반환.
Keyword Java - short 키워드 - short 정수 자료형 선언.
Keyword Java - static 키워드 - 객체 생성 없이 바로 접근 가능한 (메서드/속성) 선언.
Keyword Java - strictfp 키워드 △ - 부동 소수점 계산 정밀도 및 반올림 제한.
Keyword Java - super 키워드 - 슈퍼클래스 (= 부모클래스) 객체 의미.
Keyword Java - switch 키워드 - switch 조건문 선언.
Keyword Java - synchronized 키워드 △ - 한 번에 하나의 스레드에서만 메소드에 접근 가능 지정하는 …
Keyword Java - this 키워드 - (메서드・생성자)에서 현재 객체 지칭. (= 디스)
5/10
목록
찾아주셔서 감사합니다. Since 2012