티스토리 뷰
< 연산자(Operator) >
// 연산을 위한 상수 선언
let a = 123
let b = 456
let c: Int? = 789 // ?는 스위프트의 Optional(옵셔널) 문법인데, 후위 표기법 설명을 위해 사용하였다.
후에 Optional 에서 다뤄보자...
// 단항 연산자(Unary Operator)
Example -a, +b, ...
// 전위 표기법(Prefix) : 쉽게 말해서 앞에 연산자 표기
-a
// 후위 표기법(Postfix) : 쉽게 말해서 뒤에 연산자 표기
c!
// 이항 연산자(Binary Operator) : 변수 혹은 상수가 앞, 뒤로 두 개 필요.
Example a + b, ...
// 중위 표기법(Infix) : 쉽게 말해서 두 변수의 중간에 표기
a + b
// 삼항 연산자(Ternary Operator) : 스위프트에서 단 하나의 경우
a > 0 ? "yes" : "no" // a 가 0보다 클 때(yes), 아닐 때(no)
// 위의 뜻을 if문으로 변환하면 아래와 같다.
// if a > 0 {
// "yes"
// } else {
// "no"
// }
1) 지정 연산자(Assignment Operators) : 연산자의 오른쪽에 있는 값을 연산자의 왼쪽에 있는 변수에 넣는 것을 나타내는 연산자
// 기초 지정 연산자(Basic Assignment Operator)
var number = 0
// 덧셈 지정 연산자(Addition Assignment Operator)
number = number + 10
// 뺄셈 지정 연산자(Subraction Assignment Operator)
number = number - 5
// 나눗셈 지정 연산자(Division Assignment Operator)
number = number / 2
// 나머지 지정 연산자(Modulo Assignment Operator)
number = number % 2
// 복합 지정 연산자(Compound Assignment Operator)
number += 1
number -= 5
number *= 2
number /= 2
number %= 2
// Swift not support : value++ , value --
2) 산술 연산자(Arithmetic Operator)
// 연산을 위한 상수 선언 (위에 있으나 다시 한번.. 실제로는 똑같은 이름의 상수나 변수를 선언할 수 없다)
let a = 123
let b = 456
let c: Int? = 789
// example. 1
+a
// example. 2
a + b
// example. 3 (문자열 + 문자열)
"Hello, " + "world"
// example. 4
-a
// example. 5
a - b
// example. 6
a * b
// example. 7
b / a
// example. 8
b % a
// 실수에서의 나눗셈
let e = 123.4
let f = 5.678
// 우선순위(Precedence) : 복잡해진다 싶으면 괄호를 쳐서 구분해주면 좋다.
1 + 2 * 3
1 + (2 * 3)
(1 + 2) * 3
3) 비교 연산자(Comparison Operator)
// example. 1 : a 와 b 가 같다.
a == b
// example. 2 : a 와 b 가 같지 않으면 true, 같으면 false
a != b
// example. 3 : a 가 b 보다 크거나 같다.
a >= b
// example. 4 : a 가 b 보다 작다.
a < b
// example. 5 : a 가 b 보다 작거나 같다.
a <= b
4) 논리 연산자(Logical Operator)
// And(&&) : 둘 다 트루일 경우에만 트루.
// OR(||) : 하나만 트루면 트루
// 삼항연산자(Ternary Conditional Operator)
a > 0 ? "yes" : "nothing or no"
// 범위 연산자(Range Operators)
// 범위 - 닫힌 범위 연산자(Closed Range Operator)
0...100 // 0 ~ 100 까지
for i in 1...5 {
print("\(i) times 5 is \(i * 5)")
}
// 범위 - 반 열린 범위 연산자(half-Open Range Operator)
0..<100 // 0 ~ 99 까지
// 한 쪽 범위 연산자(One-Sided Ranges) : 개수가 분명하지 않을 때.
1... // 1,2,3 ...
...100 // 100, 99, 98 ...
..<100 // 99, 98 ...
// Swift는 0부터 시작
// 인덱스 0 1 2 3
let names = ["Anna", "Alex", "Brian", "Jack"]
names[2...] // "Brian", "Jack"
names[...2] // "Anna", "Alex", "Brian"
names[..<2] // "Anna", "Alex"
'Programming > Swift' 카테고리의 다른 글
1. Swift : 함수(function) (0) | 2018.05.16 |
---|---|
1. Swift : 타입 변환(Type Conversion) (0) | 2018.05.16 |
1. Swift : 리터럴, 타입(Literals & Types) (+ 타입 앨리어스) (0) | 2018.05.16 |
1. Swift : 타입 어노테이션, 타입 추론(Type Annotation & Type Inference) (0) | 2018.05.14 |
1. Swift : 변수와 상수(Constants & Variables) (0) | 2018.05.14 |
- Total
- Today
- Yesterday
- 프로그래밍
- ARC
- lifecycle
- 열거형
- GCD
- Operator
- 깃허브
- 컨버전
- array
- commit
- fastcampus
- fallthrough
- 튜플
- Swift
- 개발스쿨
- 패스트캠퍼스
- var
- 패캠
- 스위프트
- inswag
- OOP
- 딕셔너리
- 타입
- tca
- 리터럴
- iOS개발스쿨
- swiftUI
- function
- Dictionary
- ios
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |