1. 산술 연산자
사칙연산에 대한 연산자들임
산술연산자의 종류
구분 | 연산자 | 사용예 | 의미 |
단항연산자 | - | -a | 값의 부호를 변경 |
이항연산자 | + | a + b | 두 개의 값을 더함 |
- | a - b | 연산자 앞의 값에서 뒤의 값을 뺌 | |
* | a * b | 두 개의 값을 곱함 | |
/ | a / b | 연산자 앞의 값을 뒤의 값으로 나눔 | |
% | a % b | 연산자 앞의 값을 뒤의 값으로 나눈 나머지 |
산술 연산자는 항의 개수에 따라 단항연산자, 이항연산자, 삼항연산자 등으로 나누어 짐
단항연산자와 이항연산자의 - 기호는 서로 뜻하는게 다름
단항연산자의 - 는 양수를 음수로, 음수를 양수로 바꾸는 용도로 사용
이항연산자의 - 는 양쪽값의 차이를 계산하는 용도로 사용됨
* ⚠️ 연산자 양쪽의 공백을 일치시켜주지 않을경우 오류가 발생함
2. 비교 연산자
비교연산자는 연산의 결과가 항상 true 또는 false
두가지 중 하나로만 나타나는 특성을 가지고 있음
비교구문, 논리연산자와 함께 조건문, 분기문, 반복문에 주로 사용됨
연산자 | 사용 예 | 의미 |
< | a<b | a가 b보다 작으면 true 그렇지 않으면 false |
> | a>b | a가 b보다 크면 true 그렇지 않으면 false |
<= | a<==b | a가 b보다 작거나 같으면 true 그렇지 않으면 false |
>= | a>=b | a가 b보다 크거나 같으면 true 그렇지 않으면 false |
== | a==b | a가 b와 같으면 true 그렇지 않으면 false |
!= | a!=b | a가 b와 같지 않으면 true 같다면 false |
3. 논리 연산자
주어진 값의 논리 비교 (true 또는 false)를 통해 연산을 수행함
연산대상인 피연산자들이 모두 true 나 false 값을
가지는 Bool타입이어야 한다.
연산자 | 사용 예 | 의미 |
!(NOT) | !a | a가 true이면 false, false이면 true 반환 |
&& (AND) | a&&b | a와b모두 true면 true, 하나라도 false면 false |
|| (OR) | a||b | a또는 b둘 중 하나라도 true라면 true , 둘다false면 false반환 |
4. 범위 연산자(range operator)
스위프트에서 제공하는 독특한 연산자임
주어진 값 사이의 범위를 일정한 정수 간격으로 표현하는 연산자로
닫힌 범위 연산자, 반 닫힌 연산자 가 있음
1) 닫힌 범위 연산자(Closed range operator)
주어진 a,b를 포함하는 범위를 나타내는 연산자
주어진 두개의 피연산자 사이를 ...으로 표현하는 것
왼쪽에는 작은 숫자를 오른쪽에는 큰숫자를 배치해야함
양쪽 피연산자를모두 포함한 범위 안에 있는 모든 정수값을 순서대로 표현함
for ~ in 구문에서 일정 횟수만큼 반복할때 사용되는 경우가 많음
ex) 1,2,3,4,5를 표현하고 싶으면
1...5 로 표현가능
2) 반 닫힌 범위 연산자 (Half Closed range operator)
연산자의 양쪽 경계 중에서 왼쪽 경계는 포함되나 오른쪽 경계는 포함되지 않는 연산자임
..<를 사용하여 표현함 (..> 반대로 사용 불가능 오류 발생)
배열을 순회할때 많이 사용됨
ex) 1,2,3,4,5를 표현하고 싶으면
1..<6 로 표현가능
5. 대입연산자 (assignment operator)
값을 변수에 대입하고자 할때 사용하는 연산자
대입연산자 | 사용예시 | 의미 |
= | a = 1 | 변수 a에 1을 대입 |
+= | a +=1 | a = a +1 |
-+ | a -=1 | a = a - 1 |
*= | a *= 3 | a = a *3 |
/= | a /=3 | a = a/3 |
%= | a%=3 | a=a%3 |
<<= | a<<=3 | a=a<<3 |
>>= | a>>=3 | a=a>>3 |
&= | a&=3 | a=a&b |
^= | a^=b | a=a^b |
|= | a|=b | a=a|b |
'Swift랑 친해지기 > Swift 책보면서 정리해보기' 카테고리의 다른 글
for반복문 - 스위프트 (0) | 2022.01.14 |
---|---|
단순구문과 흐름제어구문 (0) | 2022.01.13 |
쿼우팅, 멀티 라인 스트링 - 스위프트 (0) | 2022.01.13 |
타입이 다른 변수끼리의 결합 (0) | 2022.01.13 |
타입 추론과 타입 어노테이션 (2) | 2022.01.12 |