C#

C#문법-6 : 조건문(if ~ else if ~ else, switch) 과 반복문(for, foreach, while, do while)

알통몬_ 2019. 4. 23. 10:38
반응형


공감 및 댓글은 포스팅 하는데

 아주아주 큰 힘이 됩니다!!

포스팅 내용이 찾아주신 분들께 

도움이 되길 바라며

더 깔끔하고 좋은 포스팅을 

만들어 나가겠습니다^^

 

지난 포스팅에서 C# 연산자에 대해 공부했습니다.

2019/04/22 - [C#] - C#문법-5 : 연산자(산술, 증감, 논리, 비교, 비트, 시프트, 조건)


이번  포스팅에서는 조건문과 반복문에 대해 공부합니다.


1. 조건문

조건문에는 if ~ else 와 switch가 있습니다.

조건문은 말 그대로 특정 조건이 만족할 때 실행하도록 합니다.

아래 예제를 보면 a 에는 10이라는 값이 들어있습니다.

if ~ else if ~ else 조건식을 통해 각 조건에 해당할 때

문자열이 출력되도록 만들었습니다.

a 는 0보다 크니 "a 는 0보다 크다." 가 출력되겠죠?


저는 보통 if 조건문은 범위조건을 맞출 때

switch 문은 특정 값을 비교할 때 사용합니다.

예를 들어 if문은 점수를 보고 학점을 매길 때

switch문은 학점을 보고 점수를 예측할 때 정도? 로 생각하시면

됩니다.


using System;
namespace workspace_csharp
{

class MyClass
{
static void Main(String[] args)
{
int a = 10;
if(a > 0) {
Console.WriteLine("a 는 0보다 크다.");
} else if(a < 0) {
Console.WriteLine("a 는 0보다 작다.");
} else {
Console.WriteLine("a 는 0과 같다.");
}

string grade = "A";

switch(grade) {
case "A":
Console.WriteLine("90점 이상은 A입니다");
break;
case "B":
Console.WriteLine("80점 이상은 B입니다");
break;
case "C":
Console.WriteLine("70점 이상은 C입니다");
break;
case "D":
Console.WriteLine("60점 이상은 D입니다");
break;
case "E":
Console.WriteLine("50점 이상은 E입니다");
break;
default:
Console.WriteLine("50점 이하는 F입니다");
break;
}
}
}

}

위 예제를 보시면 쉽게 이해가 되실 거에요.



2. 반복문

반복문에는 for, foreach, while, do while 문이 있습니다.

아래는 for문과 foreach문 예제입니다.

자바와 배열의 값을 가져오는 부분에서 조금 다른데

1차원 배열은 같지만 2차원 이상의 배열에서

자바는 array2D[x][y] 처럼 가져온다면

C#은 array2D[x, y] 이런 식으로 가져옵니다.

using System;

namespace workspace_csharp
{

class MyClass
{
static void Main(String[] args)
{
// for 문
for(int i = 0; i < 10; i++) {
Console.WriteLine("i = {0}", i);
}


// foreach 문
String[] grades = {"A", "B", "C", "D", "F"};

foreach (String grade in grades) {
Console.WriteLine("grade = {0}", grade);
}

// foreach 문은 for 문보다 내부적으로 최적화가 잘되어 있기에
// 가능하다면 for 문 보다는 foreach 문을 쓸 것을 권장합니다.
String[,,] array3D = new String[,,] {
{{"1"}, {"2"}, {"3"}},
{{"11"}, {"22"}, {"33"}},
{{"111"}, {"222"}, {"333"}}
};

for(int x = 0; x < array3D.GetLength(0); x++) {
for(int y = 0; y < array3D.GetLength(1); y++) {
for(int z = 0; z < array3D.GetLength(2); z++) {
Console.WriteLine("idxValue = {0}", array3D[x, y, z]);
}
}
}

// ▼
foreach(String idxValue in array3D) {
Console.WriteLine("idxValue = {0}", idxValue);
}
}
}

}


while, do while 문 예제입니다.

while 문은 조건식이 true 인 동안에 계속 실행합니다.

그리고 do while은 while 과 동일하지만 조건식을 확인 하기 전에

1회 먼저 블록 안의 코드를 수행합니다.

예제)

using System;

namespace workspace_csharp
{

class MyClass
{
static void Main(String[] args)
{
// while 문
int cnt = 1;
while(cnt < 10) {
Console.WriteLine("cnt = " + cnt);
cnt++;
}
// do while 문
int cnt2 = 1;
do {
Console.WriteLine("cnt2 = " + cnt2);
cnt2++;
} while(cnt2 < 10);

}
}

}


이상으로 C# 조건문과 반복문에 대해 공부했습니다.

이상입니다. 감사합니다.

다음 포스팅에서는 예외처리와 yield에 대해 공부합니다.



반응형