오라클자바커뮤니티에서 설립한 오엔제이프로그래밍 실무교육센터
(오라클SQL, 튜닝, 힌트,자바프레임워크, 안드로이드, 아이폰, 닷넷 실무전문 강의)
먼제 선택을 위한 if, switch 문에 대해 보도록 하겠습니다.
1. if문
if statement : 어떤 조건의 참, 거짓을 판단하여 실행을 제어하는 구조에 사용되는 statement 입니다.
condition 부분은 결과값은 반드시 true또는 false가 되어야 합니다.(No implicit conversion from int to bool )
다른 언어들의 경우: 0 이나 -1을 false로 나머지를 true로 암시적 형 변환
int x;
…
if(x) …//must be if (x!=0) in c#
if(x=0) …//must be if (x==0) in c#
[예]
enum Suit { Clubs , Hearts , Diamonds , Spades };
Suit trumps = Suit.Hearts;
if ( trumps == Suit.Clubs )
color = "Black";
else if ( trumps == Suit.Hearts )
color = "Red";
else if ( trumps == Suit.Diamonds )
color = "Red";
else
color ="Black";
2. switch 문
switch문의 변수값과 일치하는 case로 분기 합니다. (진입점)
변수값 일치하는 case가 없을 경우 default로 분기 합니다.
break문을 만나면 switch문 외부로 분가 합니다. (종단점)
[예]
switch(trumps) {
case Suit.Clubs:
case Suit.Spades:
color = "Black" ; break;
case Suit.Hearts:
case Suit.Diamonds:
color = "Red" ; break;
default:
color = "ERROR"; break;
}
다음은 반복문에 대해 보도록 합니다. (while, do~while, for, foreach)
1. while문
형식:
while (condition)
{
statements;
}
조건이 참인 동안에 statement를 실행 합니다.
[예]
int Index = 0;
while (Index < 10 ) {
Console.WriteLine(Index);
Index++;
}
2.do~while문
형식 :
do{
statements;
} while (condition);
while문과의 차이는 조건에 맞지 않더라도 statement를 한번은 수행하는 구조 입니다. 그러나 while문에서는 조건에 맞지 않으면 statement를 한번도 수행 하지 않을수도 있습니다.
[예]
int Index = 0;
do {
Console.WriteLine(Index);
Index++;
}while(Index < 10 )
3. for문
형식:
for(초기치; 조건; 업데이트 실행){
statements;
}
일반적인 for문과 같으므로 별다른 설명은 하지 않겠습니다.
[예]
for ( int x=0; x < 10 ; x++) { //x는 0부터 10보다 작을때 까지 x를 1씩 증가하면서 x의 값을 찍으니 0부터 9까지 출력되겠죠...
Console.WriteLine(x);
}
아래와 같은것도 되는것 아시죠^^;
for ( int x=0 , y = 0 ; x < 10 , y< 100 ; x++ , y++)
4. foreach문
형식:
foreach(item in 배열 또는 컬렉션){
statements;
}
배열: 여러 개의 데이터를 하나의 변수 또는 객체에 담아두는 것
컬렉션: 자유로운 형태로 여러 개의 데이터를 담아둘 수 있습니다. ArrayList, HashTable, Icollection 등이 있습니다.
실행순서를 설명 드리면 배열이나 컬렉션에서 하나의 항목을 읽은 후 statement를 수행하고 다음 foreach로 가서 다음 읽을것이 있으면 다시 읽고 statement를 실행하는 순서로 동작 합니다. 만약 다음 읽을것이 없다면 루프를 빠져 나옵니다.
[예]
ArrayList numbers = new ArrayList();
for ( int I= 0 ; I < 10 ; I++) {
Numbers.Add(I); //0부터 9까지의 수를 ArrayList라는 컬렉션에 담는다. C#에서 모든 데이터형은 객체 임
}
foreach(int number in numbers ) { //컬렉션에 객체가 있는 동안에 반복해서 그 값을 출력함, foreach를 사용하면 종료 조건을 기술하지 않아도 되므로 상당히 효율적
Console.WriteLine(number);
}
이번에는 제어를 조절할 수 있는 break,continue에 대해 알아 보겠습니다.
break : 반복문 내의 임의의 지점에서 루프를 빠져나가야 할 때 break문을 사용 합니다. 싸고 있는 루프중 가장 가가운 루프를 빠져 나갑니다.
continue : 루프의 남은 부분을 skip하고 루프의 처음으로 제어를 옮깁니다.
댓글 없음:
댓글 쓰기