[Swift] 연산자와 제어문

2023. 1. 25. 13:35·Apple/Swift
728x90
반응형

연산자

기본 할당 연산자

  • 할당 연산자(=)는 두 개의 피연산자를 가진다.
  • 왼쪽에 있는 피연산자는 값이 할당되는 변수 또는 상수이며, 오른쪽에 있는 피연산자는 할당할 값이다.
  • 오른쪽 피연산자는 주로 산술식 또는 논리식을 수행하는 표현식이며, 그 결과는 왼쪽 피연산자인 변수나 상수에 할당한다.

 

범위 연산자

  • 닫힌 범위 연산자(closed range operator)
  • 반 열린 범위 연산자(half-open range operator)
  • One-Side Ranges
  • 삼항 연산자 ?:

 

닫힌 범위 연산자

-x...y

  -x에서 시작하여 y로 끝나는 범위에 포함된 숫자

ex)5...8 (5, 6, 7, 8)

 

반 열린 범위 연산자

-x..<y

  -x부터 시작하여 y가 포함되지 않는 모든 숫자

ex) 5..<8

ex)5, 6, 7

 

One-Sided Ranged

-let names = ["A" ,"B", "C", "D"]

  for name in names[2...] { //[...2], [..<2]

   print(name)

   } // C // D

 

삼항 연산자 ?:

  • 비교 연산을 빠르게 하기 위해 삼항 연산자(ternary operator)를 지원
  • [조건] ? [참 표현식] : [거짓 표현식]
  • 삼항 연산자는 [조건] 부분을 계산하여 참(true) 혹은 거짓(false)을 확인하여 결과가 참이면 [참 표현식] 부분이 실행되며, 거짓이면 [거짓 표현식] 부분을 수행한다.

 

 

제어문

for-in 반복문

  • for-in 반복문은 컬렉션 또는 숫자 범위 내에 있는 목록을 반복한다.

  • -상수명'은 반복문이 돌면서 컬렉션 또는 범위에서 가져온 항목을 담게 될 상수
  • '컬렉션 또는 범위'는 반복문이 반복되면서 현재의 항복을 참조

 

while 반복문

  • for 반복문은 몇 번 정도 반복해야 할지를 이미 아는 경우에 사용하기 적합하다.
  • 어떠한 조건이 되기 전에 대체 몇 번 정돌 반복해야 할지를 알 수 없지만 그 조건을 만족할 때까지는 반복해야 하는 경우 while 반복문을 사용한다.
  • 지정된 조건을 만족할 때까지 작업을 반복한다.

 

반복문에서 빠져 나오기(break)

  • 반복문이 완료되는 조건 전에 반복문을 빠져나오는 어떤 조건을 만들 수도 있다.
  • 반복문에서 빠져나오기 위해 break문을 사용한다.
  • 현재의 반복문에서 빠져나와서 반복문 바로 다음에 있는 코드를 실행한다.

Continue문

  • continue문은 반복문에서 continue문 이후의 모든 코드를 건너뛰고 반복문의 상단 시작 위치로 돌아간다.

if문

  • 다른 프로그래밍 언어들과는 다르게, 스위프트에서는 if문 다음의 실행 코드가 한 줄이라도 괄호({ })를 필수적으로 사용해야 한다.
  • 기본적으로 '불리언 표현식'이 참(true)으로 판단되면 괄호로 감싸인 코드를 실행한다.
  • '불리언 표현식'이 거짓(false)이면 괄호로 감싸인 코드는 건너뛴다.

if -else문

  • if문의 다른 변형으로, if문의 표현식이 거짓(false)으로 평가될 경우에도수행될 코드를 지정한다.

guard문

  • swift 2에서 도입된 구문이다.
  • guard문은 표현식이 거짓(false)으로 판단될 경우에 수행될 else 절을 반드시 포함해야 한다.
  • else절에 속한 코드는 현재의 코드 흐름을 빠져 나갈 수 있는 구문(return, break, continue, throw 구문)을 반드시 포함해야 한다.
  • 또는 다른 함수를 else코드 블록 안에서 호출할 수도 있다.
  • guard문은 기본적으로 특정 조건에 맞지 않을 경우에 현재의 함수나 반복문에서 빠져 나갈 수 있도록 하는 '조기 출구(early exit)'전략을 제공한다.

switch-case문

 

감사합니다.


잘못된 내용이 있거나 더 좋은 내용 피드백은 언제나 환영합니다!

궁금하신 부분은 댓글로 질문 부탁드립니다!

728x90
반응형
저작자표시 (새창열림)

'Apple > Swift' 카테고리의 다른 글

[Swift] computed property, stored property, self, overloading  (0) 2023.02.01
[Swift] 클래스, 객체, 인스턴스  (0) 2023.01.31
[Swift] 함수와 메서드  (0) 2023.01.26
[Swift] 옵셔널의 개념과 강제 언래핑  (0) 2023.01.19
[Swift] 데이터 타입, 자료형, print 함수, 변수, 상수, 튜플  (2) 2022.07.08
'Apple/Swift' 카테고리의 다른 글
  • [Swift] 클래스, 객체, 인스턴스
  • [Swift] 함수와 메서드
  • [Swift] 옵셔널의 개념과 강제 언래핑
  • [Swift] 데이터 타입, 자료형, print 함수, 변수, 상수, 튜플
P_Piano
P_Piano
Apple 생태계 개발자가 되기 위한 학습과 경험의 기록
    반응형
    250x250
  • P_Piano
    피피아노의 개발 일지
    P_Piano
  • 전체
    오늘
    어제
    • 분류 전체보기 (201)
      • Apple (119)
        • iOS (22)
        • visionOS (4)
        • Swift (65)
        • UIKit (2)
        • SwiftUI (20)
        • RxSwift (2)
        • Xcode (4)
      • C언어 (5)
      • C++ (8)
      • Dart (1)
      • Python (3)
      • JavaScript (17)
      • Git (1)
      • CS (39)
        • 디자인 패턴 (6)
        • 네트워크 (20)
        • 운영체제 (8)
        • Database (5)
        • 자료구조 (0)
      • IT 지식 (2)
      • IT 뉴스 (4)
      • 출처 표기 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    비동기
    Vision Pro
    제어문
    오블완
    프로세스
    visionOS
    스위프트
    combine
    클래스
    옵셔널
    프로퍼티 래퍼
    이니셜라이저
    SWIFT
    변수
    디자인패턴
    swiftUI
    ios
    Xcode
    배열
    코딩테스트
    함수
    메서드
    UIKit
    운영체제
    티스토리챌린지
    연산자
    Optional
    Initializers
    네트워크
    자바스크립트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
P_Piano
[Swift] 연산자와 제어문
상단으로

티스토리툴바