일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 연관값
- MyLife
- copy-on-write
- struct
- actionSheet
- 코드스니펫
- 바이트디그리
- unrecognized selector sent to class
- 회고
- 파스칼표기법
- 제어전송문
- Git
- K디지털기초역량훈련
- class
- AnyObject
- uikit
- avaliable
- 생명주기
- weekly calendar
- Switch
- 주간 달력
- 내_삶
- SWIFT
- error해결
- IOS
- ios 개발 강의
- On branch is up to date with ' '
- 글또
- 다짐글
- 글또9기
- Today
- Total
seong_hye, the developer
Swift) 문법 정리 - 연산자 본문
스위프트에서 수학적인 계산은 어떻게 이루어질까?
인간처럼 +,-, x, % 등을 통해 이루어진다.
그리고 우린 이걸 연산자라고 부른다.
연산자에는 어떻게 나눠볼 수 있을까?
1. 단항 연산자
단일 대상의 바로 앞(prefix) 또는 바로 뒤(postfix)에 위치하는 연산자
공백 없이 반드시 붙여서 사용한다.
+a, -a. !a, a...
2. 이항연산자
스위프트에서 가장 많이 사용하는 형태
두개의 대상에서 가운데(infix) 위치하는 연산자
양쪽에 공백 1칸씩 추가해서 사용하는 것이 일반적
var count = 1 + 4
var name = "seong" + "hye"
3. 삼항 연산자
코드 내에서의 판단을 간단히 하기 위한 방법
count > 2 ? true : false
[ 조건문 ? 참인 경우의 표현식 : 거짓인 경우의 표현식 ]
그렇다면 연산자에는 어떤 종류들이 있을까?
기본 연산자
할당 연산자 ( = )
오른쪽의 결과 값을 왼쪽에 대입하는 연산자
두 개의 피연산자를 받음
(왼쪽 - 값을 할당받는 변수 또는 상수 / 오른쪽 - 할당할 값)
var x = 10
var y = 15
x = x! + y
x = y
산술 연산자
사칙 연산 등 기본적으로 스위프트에 내장되어 있는 기능을 하는 연산자
대부분 두 개의 피연산자를 받는 이항 연산자
단항 연산자로도 사용 가능하기도 하다
하나의 표현식 안에 여러 개의 연산자를 사용할 수도 있음
** 같은 타입의 데이터끼리만 연산 및 저장 가능 **
연산자 | 설명 | 다른 사용 방식 |
+ | 더하기 | 단항 연산자 ex) +a |
- | 빼기 | 단항 연산자 ex) -a |
* | 곱하기 | |
/ | 나누기 | |
% | 나머지 |
복합 할당 연산자
표현식을 단순화해서 사용하는 연산자
연산자 | 설명 |
x += y | x = x + y |
x -= y | x = x - y |
x *= y | x = x * y |
x /= y | x = x / y |
x % = y | x = x % y |
비교 연산자
비교를 수행하는 데 유용한 논리 연산자
비교 결과에 따라 불리언(Boolean) 결과를 반환
두 개의 피연산자를 가지고 작업한다는 점에서 이항 연산자
기호 | 의미 |
== | 같다 |
!= | 같지 않다 |
> | 크다 |
< | 작다 |
>= | 크거나 같다 |
<= | 작거나 같다 |
논리 연산자
true 또는 false 값을 반환하도록 설계된 소위 논리 연산자
두 개의 피연산자가 필요해서 이항 연산자
논리 연산자 | 의미 |
! | ~이 아닌 (NOT) 불리언 변수의 현재 값 또는 표현식의 결과를 반전 시킴 |
|| | 또는 (OR) 두 개의 피연산자 중 하나가 true라고 판단되면 true를 반환하고 두개의 피연산자 중 어느 것도 true가 아니라면 false를 반환 |
&& | 그리고 (AND) 두 개의 피연ㅅ나자 모두 true일 때만 true를 반환 |
접근 연산자 (.)
하위의 개념에 접근하기 위해 사용하는 연산자
점문법. 명시적 멤버 표현식이라고도 불림
Int.random(0...100)
UIButton.setTitle("Hi")
범위 연산자
제한된 숫자의 범위를 표기하기 위한 연산자
자체가 특별한 타입을 의미
반복 작업을 할 때 매우 중요
내림차순 형식으로 표기 불가능
폐쇄 범위 연산자 | 반폐쇄 범위 연산자 |
1 ... 10 1... ...10 |
1..<10 ..<10 |
해당 값을 포함하면서 범위를 정의 한 방향은 열리도록 정의하는 것도 가능 |
뒤의 값을 포함하지 않고 범위를 정의 한 방향은 열리도록 정의하는 것도 가능 |
패턴 매칭 연산자(~=)
오른쪽에 있는 표현식이 왼쪽의 범위에 포함되는 지에 따라 참과 거짓을 리턴하는 연산자
var number = 20
if 10...100 ~= number {
print("10이상 100이하이다")
}
연산자들의 우선순위는 어떻게 될까?
아래로 갈수록 우선순위가 낮음
연산자 | 의미 |
* / % | 곱하기, 나누기, 나머지 |
+ - | 더하기, 빼기 |
<= > == != | 크기 비교 |
&& || | 논리 |
조건식 ? true일 경우 : false일 경우 | 삼항 |
= += -= ... | 할당, 복합할당 |
참고자료)
'IOS' 카테고리의 다른 글
Swift) 문법 정리 - 상속 (0) | 2022.07.12 |
---|---|
Swift) 문법 정리 - 속성(Property) & 함수(Method) (0) | 2022.07.12 |
Swift) 문법 정리 - 클래스(Class) vs 구조체(Struct) (0) | 2022.07.12 |
Swift) 문법 정리 - 옵셔널(Optional) / 옵셔널 바인딩 (0) | 2022.07.12 |
Swift) 문법 정리 - 반복문 (0) | 2022.07.12 |