배열의 index 접근

 

 

 

 

 

int [] a = new int[3]{1,2,3}

 

Ø위의 식은 아래와 같이 바꿀 수 있다.

  int [] a;

  a[0]=1;  a[1]=2;  a[2]=3;

 

Ø배열명[index] 라고 쓰면 그 배열의 index순서에 있는 element를 뜻한다. 주의 할 것은 첫번째 elementindex0이란 점이다.

 

Ø배열의 유효 index 범위를 넘는 index를 사용하면 IndexOutOfRangeException예외가 발생한다. (예외 처리 부분 참고)

 

 

 

 

 

배열 정의하기 주의사항

 

 

 

 

 

 

Ø배열의 크기와 { } 안의 element 개수가 일치해야 한다.

 

Ø[3,2] 2차원 배열이라면 2개 짜리가 3개 있다는 뜻임. { {11,12}, {21,22}, {31,32} } 와 같이 요소를 넣어주어야 한다.

 

Ø배열에 들어갈 element를 중간에 바꾸거나, 또는  { }를 쓸 수 있을 정도로 고정된 값이 아니라면 index를 이용하여 접근한다.(à 뒷장에 설명)

 

Ø배열의 크기는 run-time 에 바꿀 수 있다. (C에서는 동적 할당을 이용했음)

 

 

 

 

배열 정의하기

 

 

 

 

Ø배열 정의하기

  int [] myArray;  //ß선언

  myArray = new int[3] {1,2,3}//ß인스턴스화

두개를 함께

  int [] myArray =  new int[3] {1,2,3}

 

 

Ø다차원 배열 정의

  int [,] myArray

  = new int[2,3] {{11,12,13},{21,22,23}}

  int [,,] myArray //ß 3차원

 

 

 

Definition of Array

 

 

 

 

 

ØArray?
l같은 데이터 형식을 갖는 다수의 객체를 묶어둔 큰 객체

 

Ø용어
lElement – 배열에 들어있는 각각의 데이터들
lIndex – 몇번째 데이터인가?
lLength  몇 개의 데이터를 담고 있는가?
lRank  – Index가 몇 개인가?

 

 

 

 

break / continue 문

 

 

 

 

 

 

Øbreak

: 반복문 내의 임의의 지점에서 루프를 빠져나가야 할 때 break문을 사용한다

 

Øcontinue

: 루프의 남은 부분을 skip하고 루프의 처음으로 제어를 넘긴다.

while(i<10){

  statements;

  break;

  statements;

  continue;

  statements;

}

 

 

 

foreach 문(2) – 예제

 

 

 

 

 

using System;

using System.Collections;

 

class TestForeach

{

  public static void Main()

  { 

  //간단한 컬렉션인 ArrayList 생성

      ArrayList shoppingCart = new ArrayList();

 

       shoppingCart.Add("핸드폰");   //컬렉션에 데이터 삽입

     shoppingCart.Add("자동차");

     shoppingCart.Add("컴퓨터");

 

  foreach(string myItem in shoppingCart){ // 컬렉션 탐색

  Console.WriteLine(myItem);

  }

  }

}

 

 

 

 

foreach 문(1)

 

 

 

 

 

Ø양식

foreach(item in 배열 혹은 컬렉션){

  statements;

}

 

Ø배열과 컬렉션
l배열: 여러 개의 데이터를 하나의 변수 또는 객체에 담아두는 것
l컬렉션
§자유로운 형태로 여러 개의 데이터를 담아둘 수 있다.
§ArrayList, HashTable, Icollection 등이 있음.

 

Ø제어의 이동

1. 배열혹은 컬렉션에서 하나의 항목을 가져옴

2. 루프 블록에서 항목을 사용

3. 다시 foreach 절로 돌아가서 다음 항목 가져옴

- 항목이 없으면 -> 루프를 벗어남

- 항목이 있으면 -> 블록 안 statement들을 실행

 

 

 

 

 

for 문 - 예제

 

 

 

 

 

Ø예제

for(int i=0, j=0; i+j<10; i++, j+=i){

  Console.WriteLine(j);

}

 

Øfor 문의 유의사항
l초기화 부분에 int i=0 이런 식으로 정의한 변수는 for블럭 안에서만 통용되는 지역변수가 된다.
l초기화 부분에 int i=0, byte j=10 식으로 쓸 수는 없다. 초기화 변수는 통일되어야 한다.
lfor 문에 사용되는 초기화, 업데이트 실행 부분은 간략해야 한다.

 

 

 

 

 

+ Recent posts