var (변수)
- 변경할 수 있는 변수를 선언할 때 사용한다.
- 추후에 다른 값으로 변경이 가능하다.
var fruit: String = "apple"
let (상수)
- 변경할 수 없는 변수를 선언할 때 사용한다.
- 상수에 값을 넣으면 변경할 수 없다.
let age: Int = 20
Int (정수형)
- 정수를 표현하는 데이터 타입이다.
let age: Int = 18
Float(실수)
3.1458,0.1,-273.15같은 실수를 표현하는 데이터 타입이다.- 소수점까지 표현할 수 있다.
- 32비트의 메모리 공간을 차지하며, 소수점 이하 6자리까지 표현할 수 있다.
let height: Float = 180.123456
Double(실수)
3.1458,0.1,-273.15같은 실수를 표현하는 데이터 타입이다.- 소수점까지 표현할 수 있다.
- 64비트의 메모리 공간을 차지하며, 소수점 이하 15자리까지 표현할 수 있다.
let weight = 80.01234567890123
String(문자열)
- 여러개의 문자를 저장하는 타입이다.
- 문자열은 “Hello”, “Apple” 과 같이 연속된 문자다.
- 쌍따옴표(
")로 감싼 문자열을 사용한다.\()를 사용하여 변수나 상수를 사용할 수 있다.// " 쌍따옴표로 감싸서 문자열을 생성할 수 있습니다. let hello = "안녕하세요! 수강생 여러분" // 쌍따옴표를 3개 연속사용하면 여러줄의 문자열을 만들 수 있습니다. let welcomeSwiftClass = """ 안녕하세요! 수강생 여러분 Swift 강의에 오신걸 환영 합니다 :) """ // 빈 문자열을 만들 수 있습니다. let emptyString2 = "" let emptyString = String() // 문자열 안에 변수나 상수의 값을 출력하고 싶다면 \()를 사용하세요! let age = 20 print("저의 나이는 \(age) 입니다.") // 출력 : 저의 나이는 20 입니다.
Character(문자)
- 한 글자를 저장하는 데이터 타입이다.
let char: Character = "A" // Character(문자) 타입 let character = "A" // String(문자열) 타입 // Swift 컴파일러가 String으로 유추하여 자동으로 String 타입으로 설정 // 문자열 배열을 String으로 만들 수 있어요. let catCharacters: [Character] = ["C", "a", "t", "!", "🐱"] let catString = String(catCharacters) print(catString) // Prints "Cat!🐱"
Boolean(참 또는 거짓)
- Boolean 타입(
Bool)은 참 또는 거짓을 나타낸다.- 값은 오직
true또는false두개로 참과 거짓을 결정하는데 사용한다.true는 참이고false는 거짓이다.let isOrangeColorGreen = false let isAppleColorRed = true let isArea: Bool = false print(isArea) // false 출력
Tuple
- 기본적으로 제공하는 기본데이터 타입으로 개발하기에는 타입이 부족하다.
그래서 나온 기능중 하나인Tuple은 데이터 타입의 값들을 그룹화 하여 하나의 타입처럼 사용할 수 있다.- 특징
- 여러값을 하나로 묶어서 관리할 수 있다.
- 튜플 내의 값들은 순서대로 저장되며, 각 값은 고유의 인덱스를 가진다.
- 튜플의 각 값은 서로 다른 타입을 가질 수 있다.
- 튜플의 사용 방법 (선언과 접근 방법)
- 튜플을 선언할 때 소괄호()를 사용하며, 각 값을 쉼표로 구분한다.
- 튜플의 값에 접근할 때는 Index(순서)를 사용하거나 이름을 붙여 접근할 수 있다.// 이름을 정하지 않은 튜플 // () 안에 타입들을 모아서 사용합니다. // 선언 방법 let person: (String, Int) = ("내배캠", 10) // 상수 person의 타입은 String, Int를 그룹화한 튜플이고, 값에는 ("내배캠", 10)을 할당합니다. // 접근 방법 person.0 // "내배캠" -> person 상수의 0번째 값 입니다. (index는 0부터 시작합니다) person.1 // 10 -> person 상수의 1번째 값입니다. // 이름을 붙인 튜플 // 튜플을 선언할 때 값에 이름을 부여할 수 있습니다. 조금더 직관적이게 됩니다. // 선언 방법 let person: (name: String, age: Int) = (name: "내배캠", age: 10) // 해석 : 상수의 이름은 person이고 타입은 String, Int를 그룹화한 튜플입니다. // String에는 name이라는 이름을 붙였고 Int에는 age라는 이름을 붙였습니다. // 값에는 name에 "내배캠"을 할당했고, age에는 10을 할당했습니다. // 접근 방법 person.name // "내배캠" -> person의 name의 값 person.age // 15 -> person의 age 값
대입 연산자
=연산자는 값을 변수나 상수에 대입할 때 사용한다.=연산자 기준으로 뒤에 값을 앞에 대입(할당) 한다.- 변수의 데이터 타입이 같다면 다른 값으로 재할당 할 수 있습니다.
let age = 20 // 해석 : age 라는 상수에 20을 대입(할당)합니다. // 이렇게 하면 age에는 실제 값이 20이 들어가있습니다.
산술 연산자
- 더하기
+: 두 값을 더합니다.
+=: 기존 값에 더한 후 할당합니다.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) // 출력 :
비교 연산자
- 두 값을 비교하여
참(true)나거짓(false)를 반환합니다.`==` : 값이 같은지 확인 - `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 연산자
false || false // false
let isGreenPan = false
let isYelloPan = true
let isHavingPan = isGreenPan || isYelloPan
print(isHavingPan) // true
// isGreenPan, isYellowPan 둘 중 하나가 true여서 true가 할당됩니다.
```swift메이플 인벤 이상한 110g호
[]
범위 연산자 : (숫자나 값의 범위를 나타낼 때 사용하는 연산자입니다)
a...b 와 같이 ... 를 사용합니다.
시작값과 마지막값을 모두 포함하는 범위를 정의할 때 사용합니다.
a...b a이상 b이하의 범위를 나타냅니다.
(0...3) // 0,1,2,3 의 범위로 0이상 3이하의 범위를 포함합니다.
(10...12) // 10, 11, 12 의 범위로 10이상 12이하의 범위를 포함합니다.
삼항 연산자
조건 ? 참일 때 반환값 : 거짓일 때 반환값 형태를 가진 연산자입니다.let age = 20 let isAdult = age > 20 ? "성인 입니다" : "미성년자 입니다" // 위에 코드를 번역해보면 // age 상수에 20 값을 할당합니다. // isAdult 상수에 age가 20이면 "성인입니다"를 할당하고 아니면 "미성년자 입니다"를 할당합니다.