Swift_데이터 타입

hoBahk·2021년 6월 7일
0

1. Int와 UInt

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

2. Bool

참(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

3. Float과 Double

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

4. Character

단 하나의 문자를 표현

ex)

let alphabetA: Character = "A"
print (alphabetA)

let commandCharacter: Character = "^"
print(commandCharacter)

let 한글변수: Character = "ㅃ"
print(한글변수)

result

A
^
ㅃ

5.String

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

6. Any, AnyObject와 nil

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
profile
호박에 줄 그어서 수박 되는 성장 드라마

0개의 댓글