/*
자바의 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 |