THIS IS ELLIE

조건문와 반복문 본문

개발/Objective-C

조건문와 반복문

Ellie Kim 2020. 2. 12. 17:21

조건문과 반복문은 프로그램 코드에 빠질 수 없는 구문입니다.

요즘 오브젝티브씨를 학습하고 있는데 스위프트랑 또 어떻게 다른지 알아보겠습니다. 

 

먼저 if구문입니다.

NSInteger a = 0;
       
if (a == 0) {
	NSLog(@"a는 0이 맞습니다");
} else {
	NSLog(@"a는 0이 아닙니다");
}        

NSInteger a에 0을 넣어줬습니다.

NSInteger은 플랫폼에 따라 32비트 64비트에 따라 int, long이 자동으로 결정됩니다.

그리고 a가 0인지 아닌지 판단해주도록 했습니다.

a가 0이니 a는 0이 맞습니다가 출력됩니다.

이렇게 조건문을 작성해 참, 거짓을 구분할 수 있습니다.

 

또 다른 방법으로는 switch구문이 있습니다.

NSInteger b = 0;

switch (b) {
    case 0:
        NSLog(@"b는 0이 맞습니다");
        break;
    default:
        NSLog(@"b는 0이 아닙니다");
        break;
}

각 값은 case문에 기술하고 break를 만날 때까지 실행됩니다.

각각의 case에 break를 넣지 않으면 아래로 내려가 또 다른 case가 실행될 수 있으니 조심해야 합니다.

의도적으로 break를 넣지 않는 경우도 있지만 그렇지 않다면 무조건 break를 작성해줘야겠죠.


오브젝티브씨에서는 총 4종류의 반복문이 있습니다.

스위프트랑은 조금씩 다릅니다.

스위프트에서는 for in , repeat while , while이 있죠.

 

하지만 이름만 조금 다를 뿐 많이 비슷합니다.

NSInteger x = 0;

// for문
for (x = 0; x < 10; x++) {
    NSLog(@"%ld", x);
}

// while문
while (x > 0) {
    x --;
    NSLog(@"%ld", x);
}

// do while문
do {
	// 코드
} while (조건문);

// for in문
for (각element in 컬렉션) {
	// 코드
}

 

 

먼저 for문은 초기화, 반복문, 반복해서 실행할 코드를 지정해서 사용합니다.

반복 횟수가 정해진 경우에 많이 사용합니다. 

 

while문은 반복할 조건만 지정합니다.

반복횟수가 명확하지 않은 경우에 많이 사용합니다.

 

do while은 while이랑 비슷하지만 do를 통해 무조건 1번은 실행되도록 합니다.

그리고 while문의 조건에 맞게 실행하게 됩니다.

 

for in문은 컬렉션 클래스를 하나씩 열거하는 데 사용할 수 있습니다. 

 

또한 for, while을 통해서 무한 반복도 가능합니다.

for문에서는 초기화, 조건문, 매번 실행하는 코드를 모두 지정하지 않고 for(; ;)으로 작성해주면 됩니다.

while문에서는 항상 참이 되도록 while(1)을 설정해줍니다.

무한 루프에서는 계속해서 실행되기 때문에 if 조건문에서 break를 두어 무한 루프에서 탈출할 수 있는 구문을 작성해줘야 합니다.

반응형

'개발 > Objective-C' 카테고리의 다른 글

KVO (Key Value Observing)  (0) 2020.02.24
Objective-C id 타입  (0) 2020.02.20
오브젝티브씨 문자열 포맷팅  (0) 2020.01.22
오브젝티브씨 메소드  (0) 2020.01.15
오브젝티브씨 클래스  (0) 2020.01.14