개발자 코드(Code)/Swift(문법)

Swift 03.기본 연산자

Chain X 2020. 8. 20. 18:27
728x90
반응형
import Cocoa

var a = 2

// 튜플을 사용한 할당 연산자
let (x1, y1) = (1,2)
print (x1, y1)

var (x2, y2) = (3, "kim")
print(x2, y2)

//사칙 연산자
print(10 / 3) // 정수 나눗셈
print(10.0 / 3.0)
print(9 % 4)  // 나머지 값


// 단항 음수 연산자
let one = 1
let minusOne = -one
let plusOne = -minusOne
print(one, minusOne, plusOne)

// 비교 연산자
1 == 1

let name = "world"
if name == "world"{
    print("Hello World!")
}else{
    print("I'm sorry \(name), but ....")
}

// 투플 비교
(1, "zebra") < (2, "apple") // 스위프트는 제일 앞에서 부터 판단한다. 왼쪽은 숫자에서 판단이 끝
(3, "apple") < (3, "bird")
(4, "dog") == (4, "dog")
("bird", -1) < ("purple" , 1) // 앞에가 같은 경우만 true가 나온다.
//("bird", false) < ("purple", true) <<<<< 확인하기

// 일반 조건 연산자
// 스위프트는 가능하면 if문 안쓴다.
let contentHeight = 40
let hasHeader = true
let rowHeight : Int

if hasHeader {
    rowHeight = contentHeight + 50
}else {
    rowHeight = contentHeight + 20
}
print(rowHeight)


// 삼항 조건 연산자
// 객체지향 언어
let contentHeight1 = 40
let hasHeader1 = true
let rowHeight1 = contentHeight + (hasHeader ? 50 : 20)
print(rowHeight1)

// Nil 병합 연산자              // ??= 풀이/ ? (nil), ? (위에 삼항연산자 nil값 숫자)
let defaualtColorName = "red"
var userDefinedColorName : String?  // 값은 nil ---> Optional 변수
var colorNameToUSe = userDefinedColorName ?? defaualtColorName

userDefinedColorName = "green"
colorNameToUSe = userDefinedColorName ?? defaualtColorName

// 중요한 것
// 범위 연산자
// 닫힌 범위 연산자
for i in 1...10{
    print(i)
}
// 1부터 10까지의 합계를 구하시오
// 1 ~ 10 합계는 55 입니다.
var result :Int = 0

for i in 1...10 {
    result += i
}
print ("\(result)")

// 1 X 5 = 5
//   :
// 5 X 5 = 25
for i in 1...5 {
    print("\(i) X 5 = \(i*5)")
}

// 반 닫힌 연산자
for i in 1..<10{
    print("5 X \(i) = \(i*5)")
}
// 이런식으로 배열을 많이 쓴다.
let names = ["Anna", "Alex","Brian","Jack"]
let count = names.count
for i in 0..<count{ // 자주 사용한다.
    print("Person \(i+1) is called \(names[i])")
}


let a1 = [-1, -2, -3, 0, 1, 2, 3]
let b1 = a1[2...] // 자리 2번부터 끝까지  -1은 0이다. -2는 1이다.
print(b1)

// 단방향 범위
for name in names[2...]{
    print(name)
}

for name in names[...2]{
    print(name)
}

let range = ...5
range.contains(7)
range.contains(2)

// 논리 연산자

// 논리 부정 연산자
let allowedEntry = false
if allowedEntry{
    print("Access Denied")
}


// 논리곱 연산자
// && 둘다 ok 이면 통과
let enteredDoorCode = true
let passedRetinaScan = false
if enteredDoorCode && passedRetinaScan{
    print("Welcome!")
}else{
    print("Access Denied!")
}

// 논리합 연산자
// || 둘중에 하나 라고 ok 이면 통과
let hasDoorKey = false
let knowOverridePassword = true

if hasDoorKey || knowOverridePassword{
    print("Welcome!")
}else {
    print("Access Denied!")
}
반응형

'개발자 코드(Code) > Swift(문법)' 카테고리의 다른 글

Swift 06.컬렉션 set집합연산  (0) 2020.08.20
Swift 05. 컬렉션 Dictionaray  (0) 2020.08.20
Swift 04.컬렉션 Aarry  (0) 2020.08.20
Swift 02. 데이터 타입  (0) 2020.08.20
Swift. 01_상수와 변수  (0) 2020.08.20