iOS

[iOS] 2025.02.06 연산자의 이해

ioskkt 2025. 2. 6. 16:14

*여전히 맥북은 없고 Online Swift Playground는 접속이 안돼서 Swift Fiddle 이용함.

 

연산자의 이해

 

산술 연산자(Arithmatic Operators)

 

덧셈 +, 뺄셈 -, 곱셈 *, 나눗셈 /, 나머지 %

 

  • 예시 코드

let a = 10

let b = 3

print("덧셈: \\(a + b), 뺄셈: \\(a - b)")

print("곱셈: \\(a * b), 나눗셈: \\(a / b), 나머지: \\(a % b)")

 

*코드가 대소문자 구분한다는 걸 알게됨!

*4 나누기 10을 하면 나머지가 4가 나오는데, 소수점 표현은 못하는걸까...?(질문)

 

비교 연산자(Comparison Operators)

 

==  값이 같은지 비교 

!=   값이 다른지 비교 

>    왼쪽 값이 더 큰지 비교 

<    오른쪽 값이 더 큰지 비교 

>=  왼쪽 값이 크거나 같은지 비교 

<=  오른쪽 값이 크거나 같은지 비교 

 

  • 예시코드

let score1 = 85

let score2 = 90

print("점수 비교: \(score1 > score2)")

 

 

* 여러가지 연산자를 넣어보았고, \ 의 기능을 시험해봄.

 

논리 연산자(Logical Operators)

 

%%  AND(둘 다 참이어야 참)

!       NOT(참을 거짓으로, 거짓을 참으로)

||      OR(둘 중 하나 참)

 

  • 예시코드

let isRainy = true

let isCold = false

print("비 오고 춥나요? \(isRainy && isCold)")

print("비 오거나 춥나요? \(isRainy || isCold)")

 

 

* 예시코드엔 왜인지 NOT이 없어서 구글링해서 찾아봄.

* let 으로 상수를 선언한것과 Bool로 설정한 것의 차이를 알아보려고 이리저리 시도해봤는데,

상수로 선언된 isRainy는 변동이 불가능했고, var로 변수로 선언하고 Bool로 설정하니 참거짓이 저장된다는걸 알 수 있었음.

* 코드를 중간중간 삽입하거나 삭제하려고 하니 오류가 난다는 점도 알 수 있었음.

 

할당연산자(Assignment Operators)

 

=     값 할당

+=   더한 후 할당

-=    뺀 후 할당

*=   곱한 후 할당

/=   나눈 후 할당

 

  • 예시코드

var number = 10

number += 5

print("현재 값: \(number)")

 

 

과제 1: 산술 연산자 실습

 

let num1 = 12

let num2 = 7

let sum = num1 + num2

let difference = num1 - num2

let product = num1 * num2

let quotient = num1 / num2

let remainder = num1 % num2

print("덧셈: \(sum), 뺄셈: \(difference)")

print("곱셈: \(product), 나눗셈: \(quotient), 나머지: \(remainder)")

 

* 산술연산자 처음 접할 때 부터 이렇게 지정하는 게 편할거라 생각했는데, 역시나 나왔음.

 

과제 2: 비교 연산자 활용

let height1 = 170

let height2 = 165

print("키 비교: \(height1 > height2)")

print("같은 키인가요? \(height1 == height2)")

 

과제 3: 논리 연산자 활용

 

let isSunny = true

let isWeekend = false

let goOutside = isSunny && isWeekend

let stayHome = !isSunny

print("외출할까요? \(goOutside)")

print("집에 있을까요? \(stayHome)")

 

과제 4: 할당 연산자 사용하기

var points = 50

points += 10

print("현재 점수: \(points)")

points *= 2

print("현재 점수: \(points)")

 

도전과제 : 간단한 성적 평가 프로그램 만들기

- 사용자의 시험점수를 score 변수에 저장.

- 90점 이상 "A등급입니다!", 80점 이상 "B등급입니다!", 70점 이상 "C등급입니다!", 그외 "더 노력하세요!"

 

 

* 분명 오타없이 잘 작성했다고 생각했는데 오류가 났음.

* 줄 변경에 따라서 오류 유무가 나뉘는 것 같음(질문)