[C# Basic] 분기처리 및 반복문

업데이트:

C#의 기초부터 차근차근 다시 한 번 짚어보자.

이번에는 코드의 흐름을 제어하는 분기처리 방법과 반복문에 대해 알아보자.


* if, else, else if
if(조건식){
    참인 경우 실행할 코드
}
else if(조건식){
    참인 경우 실행할 코드
}
else{
      실행할 코드
}
  • 조건식은 true, false로 구분되어야 한다.
  • 조건식이 참인 경우 해당 코드블럭 내의 내용이 실행된다
  • if문의 중첩 사용도 가능하다. 하지만 코드를 간결히 작성하는게 가장 좋으니 한 번 고민해보고 사용하도록 하자
* switch
switch(조건식){
    case 상수1 :  // 조건식 == 상수1 인 경우
        // 실행할코드
        break;
    case 상수2 when 상수2 > 1:  // 조건식 == 상수2 면서 상수2 > 1 인 경우
        // 실행할 코드
        break;
    default:  // 그 외
        // 실행할 코드
        break;
}
  • 조건식의 결과가 여러개가 될 수 있는 경우 switch를 사용할 수 있다
  • switch의 조건식은 정수 형식과 문자열 형식 두 가지만 지원한다.
  • break 를 만나면 해당 코드의 흐름을 멈추고 코드블럭 밖으로 위치를 이동시킨다.
  • when 절을 이용하여 추가적인 조건검사를 수행할 수 있다. if와 비슷하다고 보면 된다
* 반복문 while
while(조건식){
    반복할 코드
}
  • 조건식이 참이면 계속 코드블럭 안의 내용을 반복한다
  • 조건식이 false가 되는 경우가 없다면 무한루프에 빠지게 된다.
* 반복문 do while
do{
    실행할 코드
} while(조건식);
  • while과 유사하지만 다른 점인 일단 코드를 한 번 실행하고 나서 조건식이 true인지 확인한다
  • while과 다른 또 하나는 뒤에 ; 를 붙여야 한다는 점이다
* 반복문 for
for (int a = 0; a < 10; a++){
    // 실행할 코드
}
  • 위 예제는 a는 0부터 시작하며, a가 10보다 작으면 실행되며, 한 번 실행할때마다 a에 1을 더하는 반복문이다.
  • int a = 0 에 해당하는 초기화문은 반복을 실행하기 전 딱 한 번만 실행된다.
  • a < 10 은 조건문에 해당하며 조건식의 결과가 false가 되면 반복을 중단한다
  • a++ 은 반복식에 해당하며 반복이 끝날 떄마다 실행된다.
  • 임의의 횟수만큼 반복을 수행하는 경우 while보다 편리하다는 장점이 있다
  • 중첩해서 사용도 가능하다.
* 반복문 foreach
int[] temp = new int[]{0, 1, 2, 3};

foreach(var a in temp){
    Console.WriteLine(a);
}
  • 배열이나 컬렉션의 요소를 순회하며 각 데이터 요소에 차례대로 접근하도록 해준다.
  • 배열이나 컬렉션의 마지막 요소에 도달하면 자동으로 반복이 종료된다
* 점프문

점프문은 흐름을 끊고 프로그램의 실행 위치를 원하는 곳으로 이동시키는 역할을 한다.

  • break 는 현재 실행중인 반복문이나 switch 문의 실행을 중단하고자 할 때 사용한다.
  • continue 는 break와 달리 이번 반복을 건너 뛰어 다시 반복을 수행하게 하는 기능을 한다.
goto TEMP:  // TEMP 레이블로 점프
...
TEMP:
  • goto 는 원하는 위치로 바로 이동할 수 있도록 해준다. 코드를 읽기 어렵게 만드므로 사용을 자제하자
  • return 은 메소드 등에서 값을 반환시켜 흐름이 멈춰지는 역할을 한다.
  • throw 은 예외를 발생시켜 흐름을 멈춘다.

카테고리:

업데이트: