Swifter {Swift Developer}

메뉴

[Swift 3] 연산자

산술 연산자

산술연산자는 덧셈, 뺄셈과 같은 수학적 값을 변경하는 연산자이다.

  • [ + ] a + b (a에 b를 더함)
  • [ – ] a – b (a에 b를 뺌)
  • [ * ] a * b (a에 b를 곱함)
  • [ / ] a / b (a에 b를 나눔)
  • [ % ] a % b (a를 b로 나눈 나머지)

예제

Swift 2.x까지는 int a = 3 과 같은 형태로 작성해도 괜찮았지만, Swift 3부터는 기존 C언어 스타일로 코드를 작성할 경우 라인구분을 위한 ;(세미콜론)을 필수로 라인 끝에 넣어야 한다.

오류메시지: Consecutive statements on a line must be separated by ‘;’

비교 연산자

비교 연산자는 두 객체를 비교하여 그 결과를 Bool형으로 리턴받는 연산자이다.

  • [ == ] a == b (a와 b가 같으면 참)
  • [ != ] a != b (a와 b가 같지 않으면 참)
  • [ < ] a < b (a가 b보다 작으면 참)
  • [ <= ] a <= b (a가 b보다 작거나 같으면 참)
  • [ > ] a > b (a가 b보다 크면 참)
  • [ >= ] a >= b (a가 b보다 크거나 같으면 참)

예제

복합대입 연산자

복합대입 연산자는 연산과 대입을 하나로 합친 연산자로 다른 변수를 이용하지 않고 결과를 얻을 수 있어 소스코드를 짧게 작성할 수 있다.

  • [ += ] a += b (a에 b를 더한 값을 a에 대입하며 증가연산자 ++가 Swift 3.0부터 없어지고 이를 대체한 연산자로 사용함)
  • [ -= ] a -= b (a에 b를 뺀 값을 a에 대입하며 감소연산자 –가 Swift 3.0부터 없어지고 이를 대체한 연산자로 사용함)
  • [ *= ] a *= b (a와 b를 곱한 값을 a에 대입)
  • [ /= ] a /= b (a와 b를 나눈 값을 a에 대입)
  • [ %= ] a %= b (a와 b를 나눈 나머지값을 a에 대입)

예제

조건 연산자

조건 연산자는 조건에 따라 다른 값을 리턴하는 연산자이다. 결과는 조건문과 같은 의미로 사용된다. 조건을 판정하는 경우 보통 if문을 사용하지만 간단하게 사용하고 싶다면 조건 연산자를 활용해 보자.

  • [ ?: ] 조건식 ? 참일때 값 : 거짓일때 값

예제

논리 연산자

논리 연산자는 여러가지 조건식을 조합한 복잡한 조건의 판정을 하는 연산자이다. 논리 연산은 부정적(NOT), 논리적(AND), 논리합(OR)으로 나누어진다.

  • [ ! ] !a (a가 참이면 거짓이고 a가 거짓이면 참-부정적)
  • [ && ] a && b (a와 b가 모두 참이면 참 – 논리적)
  • [ || ] a || b (a가 참 또는 b가 참이면 참 – 논리합)

예제

범위 연산자

범위 연산자는 연속적인 값의 범위를 지정하는 연산자로 마지막 수를 포함하고 하지 않을 수 있다.

  • [ … ] a … b (a에서 b까지, b를 포함하며 Swift 3.0부터 C언어스타일 문법이 배제됨에 따라 for문등에 주로 사용함)
  • [ ..< ] a ..< b (a에서 b까지 b를 제외하며 동일하게 Swift 3.0부터 중요함)

[예제]

  1. ..< 연산자는 마지막 수를 포함하기 않을 경우의 반복문에 알맞습니다.

시프트 연산자

시프트 연산자는 비트단위 이동이 필요할 경우 이용한다. 비트시프트는 2진수로 나타낸 값의 각 자리수를 왼쪽 또는 오른쪽으로 이동시키는 것이다. 비트단위 이동은 곱셉이나 나눗셈보다 빠르게 이루어지기 때문에 2배, 1/2배 연산속도를 빠르게 할 수 있는 장점이 존재한다.

  • [ << ] a << b (a를 b로 왼쪽 비트 이동)
  • [ >> ] a >> b (a를 b로 오른쪽 비트 이동)

예제

이동하는 값에 음수값을 지정하면 알 수 없는 결과가 발생한다. 보통은 이미지 RGB값을 변화할 때 양수값을 고속으로 계산처리에 알맞다.

sizeof 연산자

sizeof 연산자는 형과 변수크기(byte)를 리턴한다.

  • [ sizeof 변수 ] 변수, 배열, 구조체등의 크기
  • [ sizeof (형) ] 형 크기

예제

연산자 우선순위

각각의 연산자의 우선순위는 다음과 같다. Swift언어는 여러가지 연산자를 조합하여 하나의 식으로 작업을 수행할 수 있기 때문에 연산처리 순서에 따라 처리결과가 달라지기 떄문에 어떤 연산자가 우선적으로 처리되는지 기억해둘 필요가 있다.

  1.  (), [], . , ->
  2. sizeof, &, *, +, -, ~, !
  3.  *, /, %
  4. +, –
  5. <<, >>
  6. <, <=, >, >=
  7.  ==, !=
  8. &
  9. ^
  10.  |
  11. &&
  12. ||
  13. ?:
  14. =, +=, -=, *=, /=, %=, <<=, >>=, &=, ^=, |=
  15. ,

연결성과 같은 우선순위 연산자를 처리하는 순서로 원칙적으로 왼쪽에서 오른쪽으로 처리된다.

Facebook Comments

카테고리:   Swift 3.0

댓글

죄송하지만 댓글은 닫혀 있습니다.