🐦 Swift

[Swift] 연산자

dev_zoe 2023. 5. 13. 13:16
반응형

본 포스팅은 '스위프트 프로그래밍 (3판) - 야곰 저' 도서와 앨런 Swift 문법 마스터스쿨 강의를 통해 공부하며 정리하는 포스팅입니다.

혹시 틀린 부분이 있거나 질문이 있으시다면 언제든지 댓글 달아주시면 정말 감사하겠습니다 :)


1. 연산자

A + B (+ : 연산자, A, B : 피연산자)

1) 단항 연산자 : 피연산자가 1개

ex) +a, -a, !a, a...

2) 이항 연산자 : 피연산자가 2개

ex) a+b, a>=b

3) 삼항 연산자 : 피연산자가 3개

a ? b : c

 

2.  할당 연산자

- 값을 할당할 때 사용하는 연산자이며, A = B 이렇게 표기함

- 데이터 타입이 서로 다르면 오류 발생

- 연산자가 여러개 일때, 가장 우선순위가 낮아서 가장 마지막에 실행함 (연산자 우선순위 공식문서 : 링크)

 

3. 산술 연산자

연산자 부호 비고
더하기 A + B  
빼기 A - B  
곱하기 A * B  
나누기 A / B - 정수끼리의 연산에서는 소수점이 아닌 정수 몫 반환
- Double(4/5) != Double(4) / Double(5)
나머지 A % B - 정수, 부동소수점 타입 나머지 연산 모두 지원

- Swift는 데이터 타입에 굉장히 엄격하므로, 서로 다른 자료형끼리 연산이 불가능함 -> 타입을 동일하게 변환시켜 연산해야함

 

4. 복합 할당 연산자

- 할당 연산자와 다른 연산자가 하는 일을 한번에 할 수 있도록 연산자를 결합한 것

- 가급적 이렇게 연산 및 할당을 한번에 하도록 지향!

 

정의 복합 할당 연산 기호
value = value + 10 value += 10
value = value - 5 value -= 5
value = value * 2  value *= 2
value = value / 2 value /= 2
value = value % 2 value %= 2

 

5. 비교 연산자

정의 설명
== 같다
!= 같지 않다
"Steve" != "steve" : 대소문자로 구분 -> true
>, < 크다, 작다
"Steve" > "steve" : false -> 문자열을 구성하는 문자의 아스키코드를 기준으로 비교
reference : https://beepeach.tistory.com/187
>=, <= 크거나 같다, 작거나 같다
~= 패턴 매치 연산자
- 숫자가 범위 안에 있는지 확인하는 연산자

10 <= n <= 100 : Swift에서는 지원하지 않는 형태 -> (10 <= n && n <= 100)

 

6. 논리 연산자

논리 연산자 의미
! ~이 아닌
&& 그리고
|| 또는

 

7. 접근 연산자 (.)

- 하위로 접근하는 개념

- ex) name.count

 

8. 삼항 연산자

조건문 ? A(true일 때의 값) : B(false일 때의 값)

- 주로 조건에 따라서 값을 할당할 때 사용

let a = 3
let b = 5

let biggerValue = a > b ? a : b // 5

- 여러번 중첩하는 것도 가능하나, 중첩이 많으면 코드의 가독성이 떨어질 수 있으므로 적절히 사용할 줄 알아야함

 

9. 범위 연산자

- 제한된 숫자의 범위를 나타내고자 할 때 사용하는 연산자로서 자체가 특별한 타입임을 의미

폐쇄 범위 연산자 A...B A부터 B까지의 범위
반폐쇄 범위 연산자 A..<B A부터 B 미만까지의 범위
단방향 범위 연산자 A...
...B
..<B
A부터 끝까지
B까지
B미만까지

- 내림차순 형식 표기 불가능 (변환만 가능)

- 실수 형식의 범위도 가능

 

반응형