Swift 문법종합 - 연산자

동그라미·2024년 11월 4일
1

5.연산자

  • 대입연산자, 산술연산자, 비교연산자, 논리연산자, 범위연산자

대입연산자

= 연산자는 값을 변수나 상수에 대입할 때 사용합니다.

  • = 연산자 기준으로 뒤에 값을 앞에 대입(할당) 합니다.
  • 변수의 데이터 타입이 같다면 다른 값으로 재할당할 수 있습니다.
let age = 20 // 해석 : age 라는 상수에 20을 대입(할당)합니다.
// 이렇게 하면 age에는 실제 값이 20이 들어가있습니다.

var name = "내배캠" // 해석 : name이라는 변수에 "내배캠" 이라는 값을 대입(할당)합니다.
var address = "서울" 

name = address // adress에 있는 값 서울을 name 변수에 할당합니다.
print(name) // name변수의 저장 값 "서울"이 출력됩니다. 

산술 연산자

더하기

  • + : 두 값을 더합니다.
  • += : 기존 값에 더한 후 할당합니다.
var result = 10 + 20 // result 변수에 10 + 20의 값 30을 할당합니다.
print(result) // 출력 : 30

result += 3 // result에 3을 더한 후 값을 할당합니다.
print(result) // 출력 : 33

let value = 5
result += value // result에 value 값 더한 후 할당합니다.
print(result) // 38 

*** 나누기

- / : 두 값을 나눕니다.

var result = 30 / 7 // result 변수에 30 나누기 7의 값인 4를 할당합니다.

print(result) // 출력 : 4

* 곱하기

- * : 두 값을 곱합니다.
- *= : 기존 값에서 곱한 뒤 할당합니다.

var result = 10 * 3 // result 변수에 10 * 3의 값 30을 할당합니다.
print(result) // 출력 : 30

result *= 2 // result 값에 2를 곱한 값을 할당합니다.
print(result) // 출력 : 60

* 나머지
- % : 두 값을 나눈 후의 나머지를 반환합니다.

var result = 10 % 3 // result 변수에 10/3의 나머지값 1을 할당합니다.

print(result) // 출력 : 1

비교 연산자

**두 값을 비교하여 참(true) 나 거짓(false)를 반환합니다.
예)

let hello = "안녕하세요"
let hi = "안녕"

hello == hi // false "안녕하세요"와 "안녕"은 같지 않아요!
123 == 123 // true 123 과 123은 같은 값이에요.

hello != hi // true "안녕하세요"와 "안녕"은 같지 않아요.
123 != 123 // false 

123 > 123 // false
100 > 120 // false

123 >= 123 // true

123 < 123 // false
123 <= 123 // true
100 < 50 // true

  • == : 값이 같은지 확인
    • a == b : a와 b가 같은지 확인
    • 1 == 1 : 숫자 1과 숫자 1이 같은지 확인 → true
  • != : 두 값이 다른지 확인
    • a != b : a와 b가 같지 않은지 확인
    • 1 != 1 : 숫자 1과 숫자 1이 같지 않은지 확인 → false
  • (>) : 왼쪽의 값이 오른쪽 값보다 더 큰지 확인
    • a > b : a가 b보다 큰지 확인
    • 1 > 2 : 1이 2보다 큰지 확인 → false
  • < : 왼쪽의 값이 오른쪽 값보다 더 작은지 확인
    • a < b : a가 b보다 작은지 확인
    • 1 < 2 : 1이 2보다 작은지 확인 → true
  • (>=) : 왼쪽의 값이 크거나 같은지 확인
    • a >= b : a가 b보다 크거나 같은지 확인
    • 1 >= 1 : 1이 1보다 크거나 같은지 확인 → true
  • <= : 왼쪽의 값이 작거나 같은지 확인
    • a <= b : a가 b보다 작거나 같은지 확인
    • 1 <= 1 : 1이 1보다 작거나 같은지 확인 → true

논리 연산자 (Bool 값을 조작하거나 결합할 때 사용합니다)
*
NOT 연산자
! 키워드를 사용합니다.
!true 처럼 느낌표가 앞에 옵니다.
Bool 값을 반대로 반환하는 연산자
true → false
* false → true

var allowedEntry = false

print(allowedEntry) // false가 출력됩니다.

print(!allowedEntry) // false의 반대값인 true가 출력됩니다

allowedEntry = !allowedEntry // allowedEntry 변수에 allowedEntry의 값 false 의 반대인 true를 대입합니다.

print(allowedEntry) // true가 출력됩니다.

* AND 연산자
* 두개의 값을 비교하여 두개의 값이 모두 true 일 때 true를 반환하는 연산자
* 한개가 true이고 한개가 false일 때는 false를 반환합니다.
* && 키워드를 사용합니다.

true && true // true

true && false // false

false && false // false

let isHavingPan = false
let isHavingPineApple = true
let pineAppleApplePan = isHavingPan && isHavingPineApple

print(pineAppleApplePan)
// false isHavingPineApple이 false이기 때문에 전체값이 false가 됩니다.


* OR 연산자
* 두개의 값을 비교하여 한개만 true일 때 true를 반환하는 연산자
* 한개가 true 이고 한개가 false일 때 true를 반환합니다.
* || 키워드를 사용합니다.

true || true // true

true || false // true

false || false // false

let isGreenPan = false

let isYelloPan = true

let isHavingPan = isGreenPan || isYelloPan

print(isHavingPan) // true
// isGreenPan, isYellowPan 둘 중 하나가 true여서 true가 할당됩니다.


범위 연산자 (숫자나 값의 범위를 나타낼 때 사용하는 연산자입니다)

  • 닫힌 범위 연산자(Closed Range Operator)
    • a...b 와 같이 ... 를 사용합니다.
    • 시작값과 마지막값을 모두 포함하는 범위를 정의할 때 사용합니다.
    • a...b a이상 b이하의 범위를 나타냅니다.

(0...3) // 0,1,2,3 의 범위로 0이상 3이하의 범위를 포함합니다.

(10...12) // 10, 11, 12 의 범위로 10이상 12이하의 범위를 포함합니다.


* 반-열림 범위 연산자(Half-Open Range Operator)

* a..<b 와 같이 ..< 를 사용합니다.
* 시작값은 포함되어 있고 마지막 값은 포함되어 있지 않은 범위를 정의합니다.
* a..<b a이상 b미만의 범위를 나타냅니다.

(0..<3) // 0,1,2 의 범위

(10..<15) // 10, 11, 12, 13, 14 의 범위를 포함합니다.


* 단-방향 범위(One-Sided Ranges)
* a... ...b 와 같이 한쪽에만 값을 넣어서 사용합니다.
* 오로지 한쪽으로만 범위를 갖고 있습니다.

(10...) // 10, 11, 12, 13 ...


삼항 연산자

  • 조건 ? 참일 때 반환값 : 거짓일 때 반환값 형태를 가진 연산자입니다.

let age = 20
let isAdult = age > 20 ? "성인 입니다" : "미성년자 입니다"

// 위에 코드를 번역해보면
// age 상수에 20 값을 할당합니다.
// isAdult 상수에 age가 20이면 "성인입니다"를 할당하고 아니면 "미성년자 입니다"를 할당합니다.


Swift Convention Guide No.4 → 연산자 코드 컨밴션

  • 대입 연산자 , 산술 연산자, 비교 연산자 양옆으로 공백을 주세요.
  • 논리연산자 NOT을 제외한 AND, OR 연산자에는 양옆으로 공백을 주세요.
  • 범위 연산자는 공백을 안주셔도 됩니다.

Code Block(코드블록)

  • Code Block이란 중괄호 { } 감싸진 코드의 묶음을 의미합니다.
  • 여러 명령어를 하나로 묶어서 특정 조건이나 반복문 등에서 실행하는 단위로 사용됩니다.
  • 주로 조건문, 반복문, 클래스, 클로저 등에서 사용하게 됩니다
profile
맨날 최선을 다하지는 마러라. 피곤해서 못산다.

0개의 댓글