TIL

2024 09 06 TIL

noc777 2024. 9. 6. 17:27

switch case 문은 c++를 잠깐 배웠을때 내가 많이 어려워했던 것 같다.

 

while문과 함께 쓰곤 했던 것으로 기억하는데 배제하고 switch case 자체만 보면

int x = 5;

switch(x)
{
case 1:
Console.WriteLine("치킨을 주문하자.");
break;

case 2:
Console.WriteLine("피자를 주문하자.");
break;

default:
Console.WriteLine("마라탕을 주문하자.");
break;
}

변수를 하나 두고 (스위치문 괄호 안에 있는 변수)

만약 변수에 맞는 조건이 case문에 있다면 해당 로직이 실행된다 보면 될 것 같다.

그리고 나서 break 문을 씀으로서 빠져나간다. default는 해당하는 case 가 없다면 출력된다.

 

cotinue는 break와는 다르게 조건에 따라 해당 진행을 일부분 생략하고 진행합니다.

for (int i = 0; i < 5; i++)
{
    if (i == 3)
    {
        continue;
    }
    Console.WriteLine(i + "번째 반복입니다.");
}
// "0 번째 반복입니다."
// "1 번째 반복입니다."
// "2 번째 반복입니다."
// "4 번째 반복입니다."

// 3 에서 continue 로 인해 해당 반복의 내용은 실행 안하고 다음으로 넘어갔습니다.

만약 break 가 continue 대신 있었다면  2번째 반복까지 한 후 종료되었을겁니다.

 

 

 

함수는 반환형식 함수 이름으로 구분 되어있다.

    void                  makerain          ()

(반환형식)            (함수 이름)    (매개변수)

 

return은 밑에 있는 모든 기능을 캔슬하고 함수를 종료합니다

따라서 조건에 따라 return을 써주려면 조건문을 써서 일정한 조건일 때 실행되도록 해야합니다.

 

그리고 return을 써줌으로서 변수에 값을 입력할 수 도 있습니다.

다만 void 는 함수의 결과를 사용하지 않겠다 라는 뜻의 반환 형식이기에 

int를 반환 형식으로 쓰고 조건에 따라return 100; 과 같이 사용할 순 있습니다.

 

 

int GetPoint()
{
Console.WriteLine("보상으로 100 포인트를 획득합니다.");
    반환값이 없다!!  <- 에러
}

//만약 void 가 아닌 반환 타입을 지정하였다면 return 으로 반드시 반환값을 부여해야합니다.

 

매개 변수는 함수의 괄호 안에 변수를 넣는 것을 의미합니다. 

 

void Attack()

{

    if(hp < 1)

   {

        return;

    }

    

    --hp;

   Console.Wrie("데미지 : 1 현재 체력 : " + hp);

 

}

Attack 함수는 실행할 때 마다 체력이 1씩 깎이게 되는데 여기에 1이 아닌 다른 데미지의

특수 공격을 지정할 때가 있을 것이다.

 

void Attack(int damage)

{
   if(hp < 1)
   {
    return;
   }

  hp -= damage; <- 데미지 적용
  Console.Write("데미지 : " + damage + "    현재체력 : " + hp);
}

 

매개 변수를 사용하면 후에 함수를 호출할 때 괄호의 값에 따라 체력이 깎이게 되며 이에 따라 출력이 될 것이다.

 

함수를 호출하면서 괄호에 3을 적어주었다 따라서 int damage의 값은 3이 되고 이를 따라 연산한다.

 

연달아 함수를 써주게 된다면 각각 매개변수의 값이 괄호안의 값에 따라 달라져 연산 될 것이다.

int hp는 0이 되었고 이 다음에 함수를 쓰더라도 return 조건문으로 인해 함수는 체력에 영향을 주지 않는다.

 

또한 매개변수는 여러개를 사용할 수 있는데 

순서에 맞게 사용해야 오류가 발생하지 않고 정상적으로 작동한다.

 

며칠동안 지속되었던 유니티 오류가 고쳐져서 다행인 것 같다. 버전에 따른 오류였다니 생각치도 못했다.

'TIL' 카테고리의 다른 글

2024 09 10 TIL  (1) 2024.09.10
2024 09 09 TIL  (0) 2024.09.09
2024 09 05 TIL  (2) 2024.09.05
2024 09 04 TIL  (3) 2024.09.04
2024 09 03 TIL  (1) 2024.09.03