2017년 3월 27일 월요일

[탑크리에듀,국비지원과정,C#강좌] C# 명령문, 반복문

이번 강좌에서는 제어문 또는 명령문에 대해 보도록 합니다. 기존 언어와 매우 유사하니 간단히 살펴 보도록 하겠습니다. 먼제 선택을 위한 if, switch 문에 대해 보도록 하겠습니다. 1. if문 if statement : 어떤 조건의 참, 거짓을 판단하여 실행을 제어하는 구조에 사용되는 statement 입니다. condition 부분은 결과값은 반드시 true또는 false가 되어야 합니다.(No implicit conversion from int to bool ) 다른 언어들의 경우: 0 이나 -1을 false로 나머지를 true로 암시적 형 변환 int x; … if(x) …//must be if (x!=0) in c# if(x=0) …//must be if (x==0) in c# [예] enum Suit { Clubs , Hearts , Diamonds , Spades }; Suit trumps = Suit.Hearts; if ( trumps == Suit.Clubs ) color = "Black"; else if ( trumps == Suit.Hearts ) color = "Red"; else if ( trumps == Suit.Diamonds ) color = "Red"; else color ="Black"; 2. switch 문 switch문의 변수값과 일치하는 case로 분기 합니다. (진입점) 변수값 일치하는 case가 없을 경우 default로 분기 합니다. break문을 만나면 switch문 외부로 분가 합니다. (종단점) [예] switch(trumps) { case Suit.Clubs: case Suit.Spades: color = "Black" ; break; case Suit.Hearts: case Suit.Diamonds: color = "Red" ; break; default: color = "ERROR"; break; } 다음은 반복문에 대해 보도록 합니다. (while, do~while, for, foreach) 1. while문 형식: while (condition) { statements; } 조건이 참인 동안에 statement를 실행 합니다. [예] int Index = 0; while (Index < 10 ) { Console.WriteLine(Index); Index++; } 2.do~while문 형식 : do{ statements; } while (condition); while문과의 차이는 조건에 맞지 않더라도 statement를 한번은 수행하는 구조 입니다. 그러나 while문에서는 조건에 맞지 않으면 statement를 한번도 수행 하지 않을수도 있습니다. [예] int Index = 0; do { Console.WriteLine(Index); Index++; }while(Index < 10 ) 3. for문 형식: for(초기치; 조건; 업데이트 실행){ statements; } 일반적인 for문과 같으므로 별다른 설명은 하지 않겠습니다. [예] for ( int x=0; x < 10 ; x++) { //x는 0부터 10보다 작을때 까지 x를 1씩 증가하면서 x의 값을 찍으니 0부터 9까지 출력되겠죠... Console.WriteLine(x); } 아래와 같은것도 되는것 아시죠^^; for ( int x=0 , y = 0 ; x < 10 , y< 100 ; x++ , y++) 4. foreach문 형식: foreach(item in 배열 또는 컬렉션){ statements; } 배열: 여러 개의 데이터를 하나의 변수 또는 객체에 담아두는 것 컬렉션: 자유로운 형태로 여러 개의 데이터를 담아둘 수 있습니다. ArrayList, HashTable, Icollection 등이 있습니다. 실행순서를 설명 드리면 배열이나 컬렉션에서 하나의 항목을 읽은 후 statement를 수행하고 다음 foreach로 가서 다음 읽을것이 있으면 다시 읽고 statement를 실행하는 순서로 동작 합니다. 만약 다음 읽을것이 없다면 루프를 빠져 나옵니다. [예] ArrayList numbers = new ArrayList(); for ( int I= 0 ; I < 10 ; I++) { Numbers.Add(I); //0부터 9까지의 수를 ArrayList라는 컬렉션에 담는다. C#에서 모든 데이터형은 객체 임 } foreach(int number in numbers ) { //컬렉션에 객체가 있는 동안에 반복해서 그 값을 출력함, foreach를 사용하면 종료 조건을 기술하지 않아도 되므로 상당히 효율적 Console.WriteLine(number); } 이번에는 제어를 조절할 수 있는 break,continue에 대해 알아 보겠습니다. break : 반복문 내의 임의의 지점에서 루프를 빠져나가야 할 때 break문을 사용 합니다. 싸고 있는 루프중 가장 가가운 루프를 빠져 나갑니다. continue : 루프의 남은 부분을 skip하고 루프의 처음으로 제어를 옮깁니다.

댓글 없음:

댓글 쓰기