자바 데이터 타입
- 기본 타입
- 정수
- byte 1 byte
- short 2 byte
- int 4 byte
- long 8 byte
- char 2 byte
- 부동 소수점
- float 4 byte
- double 8 byte
- 불리언
boolean 정해져 있지 않음
- 정수
- 참조 타입
- 배열 타입
char c[]; char[] c; int i[]; int[] i; loing l[]; login[] l; c = new char[10]; // c[0] ~ c[9], 2 byte * 10 i = new ing[10]; // i[0] ~ i[9], 4 byte * 10 l = new long[10]; // l[0] ~ l[9], 8 byte * 10 calss Ex3_1 { public static void main( String args[] ){ int i_arr[]; // 1차원 배열 i_arr = new int[5]; i_arr[0] = 10; i_arr[1] = 20; i_arr[2] = 30; i_arr[3] = i_arr[0]; i_arr[4] = i_arr[1] + i_arr[2]; // int i_arr2[][] = new int[2][3]; // 다차원 배열 System.out.println("i_arr[0] = " + i_arr[0] ); System.out.println("i_arr[1] = " + i_arr[1] ); System.out.println("i_arr[2] = " + i_arr[2] ); System.out.println("i_arr[3] = " + i_arr[3] ); System.out.println("i_arr[4] = " + i_arr[4] ); } }
- 클래스 타입
같은 타입의 변수들을 그룹으로 묶는 것이 배열타입이라며 클래스 타입은 여러 타입의변수와 메소드를 그룹으로 묶어서 새롭게 정의한 사용자 정의 타입.class PointXY{ int x, y; PrintXY( int x, int y ){ this.x = x; this.y = y; } void setX( int x ){ this.x = x; } void setY( int y ){ this.y = y; } void moveXY( int x, int y ){ this.x += x; this.y += y; } }
- 인터페이스 타입
여러 클래스 타입에서 공통으로 사용하는 상수와 메소드를 따로 분리하여 추상화시킨 타입니다. 클래스 타입과 유사하지만, 데이터 멤버에 상수만 사용할 수 있고 멤버 메소드를 내용없이 선언만 한다.// 인터페이스 타입 정의 // Shape.java 저장, Shape.class 컴파일 interface Shape{ void getArea(); } // 구현 1 class Triangle implements Shape { int x, y; double area; Triangle( int x, int y ){ this.x = x; this.y = y; } public void getArea(){ this.area = this.x * this.y * 0.5; } } // 구현 2 class Rectangle implements Shape{ int x, y; double area; Rectangle( int x, int y ){ this.x = x; this.y = y; } public void getArea(){ this.area = this.x * this.y; } } Shape shape1 = new Triangle( 10, 20 ); Shape shape2 = new Rectanble( 10, 20 );
- 열거 타입
표현할 테이터가 정해진 수의 값만을 가진다. 요일 : 월, 화, 수, 목, 금, 토, 일// Week.java, Week.class 생성 // 자바 컴파일러는 열거타입도 인터페이스 타입과 마찬가지로 클래스 파일로 처리한다. enum Week { MON, TUE, WED, THU, FRI, SAT, SUM } // 사용 class test { public static void main( String[] args ){ Week myWeek = Week.FRI; Week yourWeek = Week.SAT; System.out.printf("My special day : (%s) %n", myWeek); System.out.printf("Your special day : (%s) %n", yourWeek); } }
- 배열 타입
* 기본타입과 참조 타입비교
class Point { int x, y; Point(int x, int y) { this.x = x; this.y = y; } } public class Ex3_8 { public static void main(String[] args) { int i = 100; // 기본타입 int j = i; System.out.printf("i = (%d) %n", i); System.out.printf("j = (%d) %n", j); Point p1 = new Point( 10, 20 ); // 참조타입 Point p2 = p1; System.out.printf("p1 = (%d, %d) %n", p1.x, p1.y ); System.out.printf("p2 = (%d, %d) %n", p2.x, p2.y ); i = 300; System.out.printf("i = (%d) %n", i); System.out.printf("j = (%d) %n", j); p1.x = 30; System.out.printf("p1 = (%d, %d) %n", p1.x, p1.y ); System.out.printf("p2 = (%d, %d) %n", p2.x, p2.y ); } }
반응형
'lang > java' 카테고리의 다른 글
온라인에서 자바를 배울수 있는 사이트 10가지 (0) | 2014.10.06 |
---|---|
Spring (0) | 2013.07.17 |
우분투 java (0) | 2013.07.01 |
java zip 파일 java.lang.IllegalArgumentException (0) | 2011.05.24 |
JAVA-Struts 강좌 링크 (0) | 2008.08.13 |