iOS/swift

Swift 조건문 : If - Else & Switch

돌맹이시터 2021. 6. 11. 18:37

 

Swift에서 조건문(If, Else, Switch)을 어떻게 사용하는지 정리한다.

 

 

 

If / Else if / Else

 

 

신호등에 맞게 자동차가 출발해야할지, 또는 멈춰야 할지를 조건에 따라 선택하는 상황이라고 가정했을 때

 

if trafficLight == "green" {
go()
} else if trafficLight == "amber" {
useYourJudgement()
} else {
stop()
}

 

위와 같이 코드를 작성하게 된다.

 

 

if 문장의 조건과 같이, 신호등이 초록색이라면 전진할 것이고,

else if 신호등이 황색이라면 본인의 판단에 맞게 움직일 것이며,

else 모두 아닐 경우 멈추도록 한다.

 

 

 

 

Challenge 1) 

 

loveCalculator() function을 만든다.

1부터 100까지의 숫자 하나를 랜덤으로 생성하고, 이 수를 loveScore라는 이름의 상수로 저장한다.

만약 loveScore의 값이 100이라면, "You love each other like Kanye loves Kanye"를 출력하고,

그게 아니라면 "You'll be forever alone"을 출력한다.

해당 함수를 호출한다.

 

 

 

 

 

 

 

 

Challenge 2) 

 

 

위의 코드를 수정하여,

loveScore >=80 : "You love each other like Kanye loves Kanye" 

40 < loveScore < 80 : "You go together like Coke and Mentos"

loveScore < 40 : "You'll be forever alone" 

을 각각 출력하도록 한다.

 

 

 

 

 

 

2번째 else if 조건문에서

처음엔

40 < loveScore && loveScore < 80이라는 조건을 줬었는데

 

조건문의 흐름 자체가

처음 If 문에서 걸러진 경우에 else if 문으로 들어가기 때문에

if, else if 문에서 중복되는 경우는 문제가 되지 않는다.

 

따라서,

 

else if loveScore > 40만 작성해줘도 문제가 발생하지 않는다.

 

만약 else if 가 아닌, if 문으로 두 번째 조건을 만들고자 한다면

if loveScore > 40 && loveScore < 80 으로 만들어주면 된다.

 

 

 

 

 

Challenge ) 

 

윤년일 때 "YES", 윤년이 아닐 때 "NO" 출력하는 조건문 만들기 (다른 코드 말고, 조건문만 만들기)

 

 

 

if year % 4 == 0 && year % 100 != 0 {
      print ("YES")
  } else if year % 400 == 0 {
      print ("YES")
  } else {
      print ("NO")
  }

 

 

 

 


 

 

Switch

 

 

예를 들어 Egg Timer 어플을 생각했을 때

(hardness라는 변수가 존재, soft -> 5 / medium -> 7 / hard -> 12로 설정)

 

 

if / else 문을 사용하는 대신 Switch 문을 사용하면 조금 더 간단하게 코드를 작성할 수 있다.

 

 

switch hardness {
	case "Soft" :
		print (5)
	case "Medium" :
		print (7)
	case "Hard" :
		print (12)
	default :
		print ("Error")
}

 

 

 

Switch 문을 사용하게 되면

 

작성해야 할 코드를 줄일 수 있으며,

특히 조건의 수가 5개 이상이라면

조건을 하나 하나 따지는 것이 아니라 "Search"하기 때문에 if / else 를 사용하는 것보다 효율적이다.

 

 

 

 

Challenge )

 

위의 if / else 에서 만들었던 loveCalculator를 switch문을 사용해서 만들어볼 것

 

 

import UIKit

func loveCalculator() {
    let loveScore = Int.random (in : 1...100)
    
    switch loveScore {
    case 80... :
        print("You love each other like Kanye loves Kanye")
    case 40...80 :
        print ("You go together like Coke and Mentos")
    default:
        print ("You'll be forever alone")
    }
}

loveCalculator()