daino_saur
article thumbnail
반응형

 

프로그래밍의 기본 원리 순차 / 조건
순차 / 조건

 

프로그래밍의 기본 원리

  • 순차
  • 조건
  • 반복

 

오늘은 순차와 조건에 대해 알아보겠다.

 

순차 ⬇️

 

코드는 코드가 쓰여진 차례대로 실행된다.

그래서 코드를 작성할때 순서는 아주 중요하다.

 

print("1")
print("2")
print("3")
//1
//2
//3

 

조건 ⭕️❌

 

조건에 따라 동작을 할지 말지를 결정한다.

  • if문
  • switch문

 

if문

 

참과 거짓을 통해 실행된다.

if문 뒤에 조건을 걸고 참일 경우 {} 안에 코드를 실행한다.

 

if 참과 거짓을 판단할 수있는 조건 {
    참일 경우 실행할 코드
}
//if 문 안에 코드는 내부적 코드의 의미로 통상 4칸 들여쓰기

 

if문 사용시 알아둘 것

 

  • if문에서는 구조와 순서가 중요하다.
  • 조건을 , (comma) / && (and) / || (or)로 연결해 사용 가능하다.
  • else if를 통해 중첩해서 사용 가능하다.

 

그럼 if문은 언제 사용할까?

-> 참과 거짓을 통해 코드를 실행시키고 싶을 때 사용

 

switch문

 

여러 가지 조건에 따라 다르게 실행하기를 원할 때 사용

switch choice {   // 비교할 값
case "가위":       // choice에 담긴 값이 "가위"일 경우 "가위 입니다."를 출력
    print("가위 입니다.")
case "바위":       // choice에 담긴 값이 "바위"일 경우 "버위 입니다."를 출력
    print("바위 입니다.")
case "보":        // choice에 담긴 값이 "보"일 경우 "보 입니다."를 출력
    print("보 입니다.")
default:
    break        // 이외에 경우에서는 default를 통해 정리
}

 

switch문 사용 시 알아둘 것

 

  • 스위치문에서 케이스의 , (comma)는 또는(and)의 의미로 하나의 케이스에 여러 매칭값을 넣을 수 있다.
  • switch 문은 (비교하고 있는) 값의 가능한 모든 경우의 수를 반드시 다루어야 한다.
    (exhaustive: 하나도 빠뜨리는 것 없이 철저한)
  • 실행하지 않으려면, break를 반드시 입력해야 한다. (switch문에서만)
  • fallthreough 키워드 사용이 가능하다.

 

var num1 = 9

switch num1 {
case ..<10:           //케이스 값이 성립이 되면 다음 case는 매칭값과 상관없이 무조건 실행
    print("1")        
    fallthrough
case 10:
    print("2")
    fallthrough
default:
    print("3")
}

//1
//2
//3

 

switch문의 패턴매칭

 

switch문에서 부등식 대신 범위연산자를 써야 한다.

 

switch문 부등식 사용시 오류
부등식 사용시 오류

 

패턴매칭 연산자

 

스위치문에 :(colon)에는 사실 패턴매칭 연산자가 숨겨져 있다.

 

var weight:Int = 65

switch weight {
case 50...60:               
    print("저체중입니다.")
case 60...70:                //60...70 ~= weight ->true이므로 실행
    print("정상 체중입니다.")//오른쪽에 있는 변수가 왼쪽 범위에 포함되면 참 아니면 거짓인지 알려주는 연산자
case 70...80:
    print("과체중입니다.")
default:
    break
}

 

switch문 활용

 

  • switch문과 벨류바인딩
  • switch문과 where절

 

switch문과 벨류바인딩

 

바인딩이란?

다른 변수/상수로 값을 할당하는 것

 

var a = 10
var b = a //a의 값이 b에 할당

 

switch문에서의 활용

var num = 20

switch num {
case let a:          //let a = num ->이게 switch문에서 바인딩
    print("숫자: \(a)")
default:
    break
}

 

switch문과 where절

 

switch문에서 조건을 한번 더 확인할 때 사용

where절은 Bool 타입으로 조건을 확인하고 true나 false를 리턴한다.

where절 대부분은 밸류바인딩 패턴과 함께 사용 가능하다.

 

num = 7

switch num {
case let x where x % 2 == 0:      // let x = num 이후 where절을 만족시 true
    print("짝수 숫자: \(x)")
case let x where x % 2 != 0:
    print("홀수 숫자: \(x)")
default:
    break
}

 

반응형

'프로그래밍 > Swift' 카테고리의 다른 글

스위프트 [Swift] 옵셔널(Optional) 정리  (0) 2023.07.30
profile

daino_saur

@daino

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!