var myResult = 1 + 2
'=' 할당 연산자
덧셈의 결과를 myResult라는 이름의 변수에 할당한다.
피 연산자
숫자 외에도 변수, 상수의 혼합도 가능 // 1, 2
'+' 연산자
1과 2을 더하는 데 사용
앞서 본 할당 연산자 ( " = " 연산자)는 표현식의 결과를 변수에 저장하는 역할을 한다.
기본적으로 = 할당 연산자는 두 개의 피 연산자를 받는다.
왼쪽의 피연산자 : 값을 할당받는 변수 또는 상수
오른쪽의 피연산자 : 할당할 값, 대체로 여러 종류의 산술식이거나 논리식을 수행하는 표현식으로 왼쪽에 그 결과 반영
var myResult = 1 + 2
var x: Int? //옵셔널 Int 변수 선언
var y = 10 //두 번째 Int 변수 선언과 초기화
x = 10 // x에 값 할당
x = x! + y // 언래핑한 x와 y의 합을 x에 할당
x = y // y의 값을 x에 할당
Swift는 수학적 표현식을 생성하기 위하여 다양한 연산자를 제공한다.
이들 연산자 대부분은 두 개의 피연산자를 받는 이항 연산자(binary operator)다.
양수를 음수로 만들어주는 단항 음수 연산자(unary negative operator)는 예외적으로 하나의 피연산자를 받는다.
두 개의 피연산자를 받는 뺄샘 연산자(subtraction operator)와 대조된다.
var x = -10
x = x - 5
하나의 표현식 안에 여러 개의 연산자를 사용할 수도 있다.
x = y * 10 + z - 5 / 4
Swift는 산술 또는 논리 연산과 할당 연산자를 결합하기 위해 설계된 연산자들을 다양하게 제공한다.
이러한 연산자들은 연산을 수행한 결과를 피연산자들 중 하나에 저장하기 위해 주로 사용한다.
x = x + y
x += y
위 두 표현식 모두 변수 x에 담긴 값을 변수 y에 담긴 값에 더한 결과를 변수 x에 저장한다.
스위프트는 비교를 수행하는 데 유용한 논리 연산자들을 가지고 있다.
이들 연산자 모두는 비교 결과에 따라 불리언 결과를 반환한다.
이들 연산자들은 두 개의 피연산자들 가지고 작업한다는 점에서 이항연산자(binary operator)다.
비교 연산자는 프로그램 흐름 제어 로직을 만드는 데 가장 많이 사용된다.
비교 결과는 Bool 타입의 변수에 저장된다.
if x == y {
// 작업수행
}
// 하나의 값이 다른 값과 일치하는지를 바탕으로 구성된 if 구문
단순히 불리언 변수의 현재 값 또는 표현식의 결과를 반전시킨다.
flag라는 이름의 변수가 현재 true라 한다면 변수명 앞에 ! 문자를 두면 값이 false로 바뀔 것이다.
var flag: Bool = true // 변수는 true다.
var secondFlag = !flag // secondFlag에는 false가 저장된다.
두 개의 피연산자 중 하나가 true라고 판단되면 true를 반환하고
두 개의 피연산자 중 어느 것도 true가 아니라면 false를 반환한다.
if (10 < 20) || (20 < 10) {
print("Expression is true")
}
Swift는 값이 범위를 선언할 수 있도록 하는 몇 가지 연산자가 포함되어 있다.
이들 연산자는 프로그램에서 반복 작업을 할 때 매우 중요하다.
x...y // x로 시작하여 y로 끝나는 숫자의 범위. x와 y는 이 범위에 포함된다.
5...8 // 5 ,6 ,7 ,8
x ..<y // x로 시작하는 모든 숫자를 포함하지만 y는 포함되지 않는다.
5..<8 // 5 ,6 ,7
그 범위 앞의 시작 또는 끝에 도달할 때까지(또는 다른 조건이 충족할 때까지) 지정된 범위 방향으로 최대한으로 확장할 수 있는 범위를 지정한다.
범위 선언부의 한쪽 부분을 생략하여 선언한다.
x...
...y
2... // 예를 들어 문자열의 길이와는 상관없이 문자열의 세 번쩨 문제(인덱스 2) 부터 시작해서 마지막 문자들을 지정하는 범위
...6 // 첫 번째 위치의 문자부터 7번째 문자(인덱스 6)까지의 범위
Swift는 코드 내에서 판단을 간단히 하기 위한 방법으로 삼항 연산자(ternary operator)를 지원한다.
조건문 ? 참(true)인 경우의 표현식 : 거짓(false)인 경우의 표현식
삼항 연산자의 동작 방식은 true 또는 false를 반환하는 표현식을 '조건문' 위치에 두는 것이다.
만약 그 결과가 true이면 '참인 경우의 표현식'이 수행된다.
만약 그 결과가 false이면 '거짓인 경우의 표현식'이 수행된다.
let x = 10
let y = 10
print("Largest number is \(x > y ? x : y)")
// Largest number is 20