지지나

C# - 제어처리 2. Switch 본문

기획자의 프로그래밍 걸음마/C#

C# - 제어처리 2. Switch

Gygyna 2020. 6. 19. 08:49

사실 요 앞에 제어처리 if else 랑 같이 하려고 했는데, 너무 길어지는 것 같고 나의 뇌는 한정적이라 짤랐어요ㅋㅋㅋ 

 

암튼 이제 Switch 문을 공부해 보았습니다. 

 

[Switch]

특정 계산식의 결과 값에 따라 각기 다른 수행문을 실행, 정수 형식과 문자열 형식 두 가지만 지원

Switch (조건식)

{

case 값1:

실행할 내용; 

break;

case 값2:

실행할 내용;

break;

..

default:

실행할 내용;

break;

}

 

여기서 break 이란, 명령문 실행을 완수하면 Switch 문{} 을 벗어난다는 뜻 입니다. } 밖으로 나옴

그리고 조건식 어디에도 해당되든 사항이 없으면 default 를 사용합니다. 

 

강의를 듣고, 직접 해 보았습니다. 

우선 맨 위에 '오늘 저녁은 무엇입니까?' 를 물어보는 질문을 뙇 박고,

string menu 대문자로 바꿔서(ToUpper) m이라는 그릇에 담았습니다. 

 

Switch 문 한 다음 꼭 {} 해주기!

 

강의를 들을 때 break가 이해가 잘 안되서 생략하고 해 보았어요. 

 

 

'한 case 레이블에서 다른 case 레이블로 제어를 이동할 수 없습니다' 라는 오류가 계속 뜹니다. 

 

break을 쓰면 이 오류가 해결이 되는데, 아마 switch 문이 명령 실행을 하고 끝나고 나가는 것이 베이스인..것이 아닌가 생각을 해봅니다ㅠ (제가 틀렸으면 수정해주세요!)

 

P, H, C, B 값이 아닌 다른 값을 넣으면 '오늘 저녁은 굶으실 겁니까?' 라는 값이 나오게 default 로 설정 했어요. 

 

 

그리고 실행을 해 보았는데 참 신기하쥬? 

 

아까 ToUpper 를 썼기 때문에 사용자가 소문자p를 넣어도 대문자P로 인식해서 정상적으로 결과가 출력됩니다. 

 

 

그리고 사용자가 값을 입력하면 결과가 나오면서 (오늘 저녁은~~) 저절로 프로그램이 끝나는데, break 이 이 기능을 하는 것 같습니다..;; 

 

 

해당사항이 없는 값을 넣으면 default 에 적은 실행문이 나옵니다! 

 

Comments