본문 바로가기
iOS/Swift

Swift 변수 선언, 데이터 타입, 연산자 (TIL-22/11/14)

by 뷰더월드 2022. 11. 14.
728x90

Swift 로고

 

변수와 상수의 선언 및 초기화

 

변수는 var, 상수는 let 키워드를 이용하여 다음과 같이 선언할 수 있다.

 

var [변수명] = [값]
let [상수명] = [값]

 

var num1 = 3
var num2 = 5
print(num1 + num2)  // 8

let num3 = 2
let num4 = 4
print(num3 + num4)  // 6

 

여기서 변수인 num1과 num2는 값을 변경할 수 있지만 상수인 num3과 num4는 값을 변경할 수 없고, 변경하려고 시도하면 에러가 발생한다.


데이터 타입

 

변수를 선언할 때 어떤 종류의 데이터인지를 다음과 같이 명시적으로 나타낼 수 있다.

 

var [변수명]: [데이터 타입] = [초기값]

 

var myInt: Int = 123  // 정수
var myFloat: Float = 1.234  // 부동소수(6자리)
var myDouble: Double = 1.23456789  // 부동소수(15자리)
var myCharacter: Character = "A"  // 문자(1글자)
var myString: String = "Hello"  // 문자열(1글자 이상)
var myBool: Bool = true  // 참 or 거짓

Swift에서 주로 사용하는 데이터 타입은 위와 같다.

 

특히, Float와 Double은 표현할 수 있는 소수점 자리의 수에서 차이가 나고, Character는 1개의 글자를 가질 수 있는 반면 String은 1개 혹은 그 이상의 글자를 가질 수 있다.

 


연산자

 

1) 할당 연산자

 

var a = 1
var b = 2
print("a=\(a), b=\(b)")  // a=1, b=2

a = b
print("a=\(a), b=\(b)")  // a=2, b=2

 

등호(=) 1개를 사용하면 등호 오른쪽 변수의 값을 등호 왼쪽 변수에 할당 한다는 의미이다.

 

따라서 위의 코드에서는 b의 값을 a에 할당했기 때문에 최종적으로는 a와 b가 모두 2가 된다.

 

print("[문자열] \([변수명])")

 

참고로, 데이터 타입이 다른 여러 값들을 동시에 출력하고 싶다면 print 함수를 위와 같이 사용한다.

 

2) 산술 연산자

 

let a: Int = 10
let b: Int = 3

print(a + b)  // 13
print(a - b)  // 7
print(a * b)  // 30
print(a / b)  // 3
print(a % b)  // 1

 

덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈-몫(/), 나눗셈-나머지(%) 연산을 수행할 수 있다.

 

특히 a와 b가 모두 정수형이기 때문에 a / b 는 몫을 구하는 연산이 된다.

 

let c: Double = 10.0
let d: Double = 3.0

print(c / d)  // 3.33333333
print(c % d)  // 연산 불가능, 에러 발생

 

만약 a와 b가 모두 부동소수로 선언되었다면 / 연산은 우리가 실제로 하는 나눗셈 연산과 같다.

 

하지만 % 연산은 정수끼리의 연산만 가능하기 때문에 에러가 발생한다.

 

3) 복합 할당 연산자

 

var num = 1
num += 1  // num = 2

var num = 1
num -= 1  // num = 0

var num = 2
value *= 5  // num = 10

var num = 10
num /= 2  // num = 5

var num = 5
num %= 2  // num = 2

 

num += 1과 같은 형태를 가지며 이는 num = num + 1과 동일하다.

 

나머지 연산자들도 이와 같은 방식으로 적용된다.

 

4) 비교 연산자

 

let x = 12
let y = 34

print(x == y)  // false
print(x != y)  // true
print(x > y)  // false
print(x >= y)  // false
print(x < y)  // true
print(x <= y)  // true

 

크다(>), 크거나 같다(>=), 작다(<), 작거나 같다(<=), 같다(==), 같지 않다(!=) 가 있으며, 주어진 두 값을 비교하여 결과적으로는 true 또는 false를 반환한다.

 

5) 논리 연산자

 

print(!true)  // false
print(!false)  // true

print(true && true)  // true
print(true && false)  // false
print(false && true)  // false
print(false && false)  // false

print(true || true)  // true
print(true || false)  // true
print(false || true)  // true
print(false || false)  // false

print(true && false || false)  // false
print(true || false && true)  // true

 

true와 false를 대상으로 하며, true나 false 앞에 !가 붙어있으면 논리값이 반대로 된다.

 

&&는 AND 논리 연산을 수행하며, 두 값이 모두 true여야 true를 반환한다. (하나라도 true가 아니라면 false가 반환한다.)

 

||는 OR 논리 연산을 수행하며, 두 값 중 하나라도 true이면 true를 반환한다.

 


코멘트

 

드디어 오늘부터 Swift 문법을 제대로 공부하기 시작했다.

 

위와 같이 글로 요약 정리해보니까 다시 한번 공부한 내용을 떠올리게 되어 복습 효과가 큰 것 같다. 😄

 

다만 오늘은 진도를 많이 나가지 못해서 앞으로 공부 시간을 점차 늘려나가야겠다.

 

내일도 화이팅! 👊🏻

728x90

댓글