«   2018/04   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
Archives
Today
7
Total
1,087,145
관리 메뉴

Blue Breeze

자바 데이터 타입 본문

Language/JAVA

자바 데이터 타입

푸른바람 푸른_바람 2013.07.08 07:00
자바 데이터 타입
  • 기본 타입
    • 정수
      • 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 );
	}
}


'Language > JAVA' 카테고리의 다른 글

온라인에서 자바를 배울수 있는 사이트 10가지  (0) 2014.10.06
Spring  (0) 2013.07.17
자바 데이터 타입  (0) 2013.07.08
우분투 java  (0) 2013.07.01
java zip 파일 java.lang.IllegalArgumentException  (0) 2011.05.24
java AWT Layout FlowLayout  (0) 2007.06.20
0 Comments
댓글쓰기 폼