조건문

조건문은 2개만 알면 모든 프로그래밍을 할 수 있답니다. 바로 if, switch 에요.

  • if
int score = 100;
string rank = "A";

if(score <= 50) {
  rank = "D";
} else if (score <= 70) {
  rank = "C";
} else if (score <= 90) {
  rank = "B";
} else if (score <= 100) {
  rank = "A";
}

이렇게 되면 rank의 결과값은 몇을 출력할까요? 맞습니다. A를 출력하게 됩니다.

if는 해당 조건을 true와 false로 판단하는 문법입니다. 즉 score는 100이기 때문에 가장 마지막 줄의 else if의 score <= 100 조건에 해당이 되죠. 그러므로 마지막줄의 if는 true를 연산을 하여 {}1 안에 진입하게 됩니다.

위의 소스처럼 조건을 한개만 써서 깔끔하게 표현되지 않는 것들은 어떻게 표현해야 할까요?

bool isClicked = true;
bool isUsed = true;
bool isHave = true;

int damage = 100;

if(isClicked == true && isUsed == true && isHave == true) {
  damage += 500;
}

if(isClicked == false || isUsed == false || isHave == false) {
  damage = 100;
}

위의 예제는 대충 아이템을 가지고있고, 사용중에, 버튼을 누르면 그 때 데미지가 올라가는 코드입니다. 이런식으로 여러가지 조건을 && 을 통해서 한번에 적용되도록 할 수 있습니다. 한글로 말하면 그리고 가 어울리겠네요.

두번째 조건문은 || 를 사용하는 예제인데요. 이 ||혹은을 나타냅니다. 즉 isClicked, isUsed 그리고 isHave 중 하나가 false가 되기만 한다면 원상복귀 되는 소스입니다.

이렇게도 내타낼 수 있어요.

if(isClicked) {
  // 코딩
}

이렇게 하면 isClicked == true와 같은 문장입니다. 앞에 !를 붙인다면 isClicked == false와 같겠죠?

  • Switch
int score = 100;
bool isPerfect = false;

switch(score) {
  case 100:
    isPerfect = true;
    break;
  default:
    isPerfect = false;
    break;
}

위의 소스코드는 간단하게 만점을 체크하는 코드입니다. 딱봐도 이해가 가능하죠?

반복문

반복문은 for, while 이 두개만 알면 되지만 보통 while은 잘 쓰지 않는답니다.

  • for
for (int i = 0; i < 10; i++) {
  // 코드
}

위의 예제는 for문을 단순 10번 반복시키는 코드입니다. for말고 foreach를 통해서 순차 순회도 할 수 있습니다.

List<int> list = new List<int>;
list.Add(10);
list.Add(20);
list.Add(30);

foreach (int a in list) {
  // a는 list를 순차적으로 돌아 list[0]부터 끝까지 루프마다 대입됩니다.
}

이 코드는 list등의 collection들의 데이터를 순차적으로 도는 코드입니다.

  • While
int loop = 0;

while(loop < 100) {
  loop ++;
}

이 소스코드는 loop가 100이 되면 루프가 멈추는 소스코드에요. while은 괄호안의 데이터가 true일때만 동작한답니다.

loop < 100는 true인 상태로 내부 소스가 loop++이므로 더해지는것이 멈추는 것은 100이 되면 멈추겠죠?

1. 코드블럭 이라고 합니다.

results matching ""

    No results matching ""