본문 바로가기

java

자바의 데이터형

/*
자바의 Data Type
자료형의 종류
① 기본데이터형(Premitive Data Type)
② 참조데이터형(Reference Data Type)

① 기본데이터형(Premitive Data Type)
         상수
숫자형 -- 정수  -- byte 1byte  
    short 2byte
    int  4byte  10진수, 16진수, 8진수
    long 8byte  300L - 뒤에 L을붙인다. 생략가능
   
  실수  -- float 4byte  3.14f -뒤에 f를붙인다. 생략하면에러
    double 8byte
문자형   char 2byte  'a' <==싱글쿼테이션으로묶는다
         or 2byte정수 (유니코드값)
논리형   boolean 1byte  true, false
----------------------------------------------------
② 참조데이터형(Reference Data Type)  4byte
 사용자정의형, 클래스형, 인터페이스형
-----------------------------------------------------
*/

class DataTypeExam
{
 public static void main(String[] args)
 {
  // 정수형변수및 상수
  // 정수형상수 : 5(10진수), 013(8진수) 0x123(16진수)
  // byte
  short shortVar= 280; // short
  int  intVar = 2147483647;//+1; // int
   
  // 정수형변수 선언시 최대범위값을 초과하여 할당하면  컴파일에러
  /*
  DataTypeExam.java:40: possible loss of precision
  found   : int
  required: byte
      byteVar =128;
        ^
  */
  // 연산된 결과가  최대범위값을 초과하여 할당되면 오류값기억
  long longVar = 280; // long
  System.out.println("short형=="+shortVar);
  System.out.println("int  형=="+intVar);
  System.out.println("long 형=="+longVar);
  byte byteVar = 127; // -128 ~ 127
  //byteVar =128; //128은 int형 4byte
  /*
  DataTypeExam.java:40: possible loss of precision
  found   : int
  required: byte
      byteVar =128;
         ^
  1 error
  */

  // 정수형상수 : 17(10진수), 021(8진수) 0x11(16진수)
  int  a = 17;
  System.out.println("10진수=="+ a);
    a = 021; //8진수상수는 0으로시작해서표기
  System.out.println("8진수=="+ a);
    a = 0x11; //16진수상수는 0x로 시작해서 표기
  System.out.println("16진수=="+ a);
  /////////////////////////////////////////////////////////
  // 실수형변수 및 상수
  /////////////////////////////////////////////////////////
  // 3.14 - double형(내부적으로 8byte)
  // 3.14f - float형(내부적으로 4byte)

  double doubleVar = 3.14;
  System.out.println("double형==="+ doubleVar);
  float floatVar = 3.14f; //float형상수는 뒤에 f를 붙인다.
  //  floatVar= 3.14;
  /*
  DataTypeExam.java:62: possible loss of precision
  found   : double
  required: float
      float   floatVar = 3.14;
                                   ^
  */
  System.out.println("float형==="+ floatVar);

  /////////////////////////////////////////////////////////
  // 문자형(character형)
  /////////////////////////////////////////////////////////
  // 문자형 상수 : ''(싱글쿼테이션, 단일따옴표)으로 묶는다.
  //    영문, 숫자, 한글등 1글자로 이루어진다.
  //    즉 'a', '강' '9'등은 char  'abc'는 오류
  //    'a' 는 char형, "a"는 String형
  char charVar = 'A';
  // char은 내부적으로 2바이트 정수로 처리됨(유니코드값 - 예를들면 알파벳A : 65)
  // 그러므로 2byte정수도 할당가능하다.
  char charVar2 = 65;
  System.out.println("charVar=="+charVar);  //A
  System.out.println("charVar2=="+charVar2);  //A
  // 제어문자 교재 83 표2-9참고
  System.out.println("안녕\n\n\n\n\n하세요");

  //////////////////////////////////////////////////////////
  // 논리형
  //////////////////////////////////////////////////////////
  // 논리형 상수는 오로지 true, false 두가지, 대소문자가다르거나 0,1등도 안됨
  boolean booleanVar = true;
  System.out.println( booleanVar );
  boolean booleanVar2 = 5>10;

  System.out.println( "5>10 ??/ "+ booleanVar2 );

  // 래퍼(Wrapper)클래스: Integer, Byte, Short, Long, Double, Float, Character)
  // 변수의 최대값, 최소값 출력
  System.out.println("정수 int의 최대값 : " + Integer.MAX_VALUE);
  System.out.println("정수 int의 최소값 : " + Integer.MIN_VALUE);

  System.out.println("실수 double 의 최대값 : " + Double.MAX_VALUE);
  System.out.println("실수 double 의 최소값 : " + Double.MIN_VALUE);

  //


 }
};

'java' 카테고리의 다른 글

TOMCAT utf-8 OS 별로 한글 깨짐 해결  (0) 2009.09.28
키보드 입력 받기  (0) 2008.10.25
break문, continue문  (0) 2008.10.25
반복문 for  (0) 2008.10.25
조건문 if  (0) 2008.10.25