티스토리 뷰


 < 연산자(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

numbe-= 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 까지


forin 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"


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함