Int: 양의 정수,0, 음의 정수를 포함한 데이터 타입
UInt: 양의 정수, 0 만 포함한 데이터 타입
ex) Int, UInt
var integer: Int = -100
let unsignedInteger: UInt = 50
print("integer 값: \(integer), unsigendinteger 값: \(unsignedInteger)")
print("Int 최댓값: \(Int.max), Unit 최댓값: \(UInt.max)")
print("Int 최솟값: \(Int.min), UInt 최솟값: \(UInt.min)")
let largeInteger: Int64 = Int64.max
let smallUnsignedInteger: UInt8 = UInt8.max
print("Int64 최댓값: \(largeInteger). UInt8 최댓값: \(smallUnsignedInteger)")
integer = Int(unsignedInteger)
print(integer)
result
integer 값: -100, unsigendinteger 값: 50
Int 최댓값: 9223372036854775807, Unit 최댓값: 18446744073709551615
Int 최솟값: -9223372036854775808, UInt 최솟값: 0
Int64 최댓값: 9223372036854775807. UInt8 최댓값: 255
50
각 진수 별 표현법
2진수: 0b
8진수: 0o
16진수: 0x
ex)
let binaryInteger: Int = 0b1011100
let octInteger: Int = 0o134
let hexInteger: Int = 0x5C
print("2진수 0b1011100 값: \(binaryInteger)")
print("8진수 0o134 값: \(octInteger)")
print("16진수 0x5C 값: \(hexInteger)")
result
2진수 0b1011100 값: 92
8진수 0o134 값: 92
16진수 0x5C 값: 92
참(true) 혹은 거짓(false)
ex)
var boolean: Bool = true
boolean.toggle() //true - false 반전
let boolean2: Bool = true
let isTimeUnlimited: Bool = false
print("boolean: \(boolean)")
print("boolean2: \(boolean2)")
print("isTimeUnlimited: \(isTimeUnlimited)")
result
boolean: false
boolean2: true
isTimeUnlimited: false
Float과 Double은 부동수소점을 사용하는 실수이며, 부동소수타입이라고 한다.
32비트 실수는 Float, 64비트 실수는 Double로 표현한다.
ex)
var floatValue: Float = 123456789012.123
let doubleValue: Double = 123456789012.123
print("floatValue: \(floatValue)")
print("doubleValue: \(doubleValue)")
floatValue = 1234.567
print("floatValue: \(floatValue)")
result
floatValue: 1.2345679e+11
doubleValue: 123456789012.123
floatValue: 1234.567
단 하나의 문자를 표현
ex)
let alphabetA: Character = "A"
print (alphabetA)
let commandCharacter: Character = "^"
print(commandCharacter)
let 한글변수: Character = "ㅃ"
print(한글변수)
result
A
^
ㅃ
String은 문자열이며, Character와 같이 유니코드 9를 사용할 수 있다.
ex)
let name: String = "bh"
var introduce: String = String()
introduce.append("my name is")
introduce = introduce + " " + name + "Park"
print(introduce)
print("name의 글자수: \(name.count)")
print("introduce가 비어있나요? \(introduce.isEmpty)")
let unicodeScalarValue: String = "\u{2665}"
print(unicodeScalarValue)
result
my name is bhPark
name의 글자수: 2
introduce가 비어있나요? false
♥
ex)
//연사자를 통한 문자열 비교
let hello: String = "Hello"
var isSameString: Bool = false
isSameString = hello == "Hello"
print(isSameString)//true
isSameString = hello == "hello"
print(isSameString)//flase
//메서드를 통한 접두어, 접미어 확인
var hasPrefix: Bool = false
hasPrefix = hello.hasPrefix("He")
print(hasPrefix)//true
hasPrefix = hello.hasPrefix("HE")
print(hasPrefix)//false
hasPrefix = hello.hasPrefix("llo")
print(hasPrefix)//false
//메서드를 통한 대소문자 변환
var convertedString: String = ""
convertedString = hello.uppercased()
print(convertedString)//HELLO
convertedString = hello.lowercased()
print(convertedString)//hello
Any는 모든 데이터 타입을 사용할 수 있다.
AnyObject는 Any보다 한정된 의미로 클래스의 인스턴스만 할당할 수 있다.
ex)
var somevar: Any = "swift"
print(somevar)
somevar = 50
print(somevar)
somevar = 12.34
print(somevar)
result
swift
50
12.34
\n : 줄바꿈 문자
\ : (역슬래시)
\" : "(큰따옴표)
\t : 탭문자
\O : 문자열이 끝났음을 알리는 null문자
random(in:) 메서드를 통해 정수, 실수 모두 임의의 수를 만들 수 있다.
ex)
var randomInt: Int = Int.random(in: -10...10)
print(randomInt)
randomInt = Int.random(in: -10...10)
print(randomInt)
randomInt = Int.random(in: -10...10)
print(randomInt)
result
7
-5
6