본문 바로가기
코스웨어/10년 스마트폰BSP

[BSP]업무일지-전현수-20100729

by 알 수 없는 사용자 2010. 7. 29.
728x90
반응형
1. 배열
    
     자바의 배열은 배열 변수의 선언, 배열의 생성, 그리고 생성된 배열 내부에 값을 저장하는 배열의 초기화 과정으로 사용함


1.1
배열의 선언
       배열 선언시 배열 표시 기호로는 C언어와 마찬 가지로 []를 사용함.
      
또한 반드시 해당 데이터의 타입이 무엇인지 알려주어야 함
.
      
      int  []intArray;
      int  intArray[];
  
       C
언어와 다른 점은 []안에 몇 개의 데이터가 와야 할지 크기 지정을 하지 않는다는 것.
      
크기에 대한 정보는 선언할 때 필요한게 아니라 배열 메모리를 생성할 때 필요하기 때문임
.
     
      double [] dbArray, otherArray;
 
       
위와 같이 [] 표시 기호를 변수 앞쪽에 붙여도 상관없으나 위와 같은 경우 dbArray 뿐만 아니라 otherArray double형 배열로 선언됨.

1.2
배열의 생성

     
    
실제 사용할 배열을 메모리에 할당하는 것, new 연산자를 이용함.
     
생성된 모든 배열은 length 라는 멤버변수를 자동으로 가짐 ( C언어에서 사용하는 sizeof 예약어가 자바에서 필요 없는 이유
)
    
      int  intArray[]  = 
new int[100];
     
      배열의 선언과 생성이 완료되면 intArray[0]부터 intArray[99]까지 총 100개의 데이터를 int 타입의 변수로 사용할 수 있는 것.
      intArray.length
라는 곳에는 자동으로 100의 값이 저장됨
.

      int[] intArray = {123, 456, 789};
// 123, 456, 789 세 개의 요소를 가진 배열을 생성
     
int[] intArray = new int[]{123, 456, 789};  // 123, 456, 789 세 개의 요소를 가진 배열을 생성

      int[] intArray;
      intArray = new int[3];
// 크기가 3인 빈 int형 배열 생성

      
      int intArray[];
      intArray = new int[]{123, 456, 789};
// 123, 456, 789 세 개의 요소를 가진 배열을 생성

     
      배열의 각 요소에 접근할 때는 첨자를 이용한다. 이 첨자는 0부터 시작되므로 코딩할 때 주의해야 한다.
      int elem =
intArray[0]; // elem 변수에 intArray 배열의 첫 번째 요소를 저장

      
      배열의 크기를 알아보기 위해서는 length
를 사용한다.
      int size =
intArray.length;   

1.3 배열의 초기화

      
       배열 값을 초기화 하지 않았을 때 초기값으로 들어가는 값이 자동으로 정해져 있음

  

데이터타입

초기값

기본형변수 타입

byte

0

short

0

int

0

long

0L

float

0.0f

double

0.0d

char

'\u0000'

boolean

false

참조형변수 타입

null



      배열 선언과 생성, 초기화를 동시에 한 문장으로 나타낼 수도 있음

     int      intArray[] = {100, 200, 300};
     float    fArray[] = {1.1f, 2.2f, 3.3f};
     String sArray[] = {"One", "Two", "Three"};

      위의 배열들은 초기화한 개수 만큼 데이터들이 생성되며 length의 값은 3을 갖게 됨.

      반복문을 사용하여 배열의 초기화를 할 수 있음
      이때 배열의 범위를 벗어나서 초기화를 하려할때 다른 메모리 영역을 침범하는 것이 아니라
      ArrayIndexOutOfBoundsException 이라는 예외(exception)를 발생시켜 처리를 하게 함.

1.4
다차원 배열의 사용
    
      자바에서도 2차원 이상인 배열을 만들 수 있음.

     
int   twoDimArray[][] = new int[4][10];
      위의 선언과 생성은 twoDimArray[0][0]부터 twoDimArray[3][9]까지 40개의 데이터를 만듦

     
int intArray[][] = {{1, 2, 3}, {4, 5, 6}};
     
int[][] intArray = new int[][]{{1, 2, 3}, {4, 5, 6}};
     
int[] intArray[];
     intArray = new int[2][3];

    
일차원 배열에 비해서 []의 개수가 하나더 늘었다는 점을 제외하고는 선언하고 초기화 하는 방식은 동일하다.
     배열은 차원에 상관없이 배열안에 들어있는 요소들을 메모리에 일차원적으로만 저장한다. 다차원 배열은 일차원적으로 저장된 배열을
     쉽게 이해하고 사용하도록 하기 위해 논리적인 차원으로 구분한 배열이라고 볼 수 있다
.


2. 사용자 정의 메소드
    
    지금까지 학습한 예제에는 main 이란 이름을 갖는 메소드가 단 하나 있었다. 프로그램을 작성핟 보면 의미있는 단위로 작업을 나누어서 
    여러개의 메소드에서 처리하도록 해야 할 경우가 생긴다. 이럴 경우 사용자가 직접 메소드를 만들어서 사용하면 된다.
  
    접근제어자    리턴타입     메소드이름(매개변수 리스트)
    {
           지역변수 선언;
           문장;
           return(결과값);
    }

   

728x90