본문 바로가기

논리연산자5

[Swift] 연산자 (Operator) 연산 - 주어진 식을 계산하여 결과를 얻어내는 과정 연산자 (operator) - 연산을 수행하는 기호 피연산자 (operand) - 연산의 대상 a + b a, b // 피연산자 + // 연산자 연산자 종류 연산자의 위치에 따라 피연산자 수에 따라 역할과 기능에 따라 1. 연산자의 위치에 따라 - 전치 연산자 (Prefix Operator) + a - 후치연산자 (Postfix Operator) a + - 중위연산자 (Infix Operator) a + b 2. 피연산자의 개수로 나눌때 - 단항연산자(Unary Operator) - 이항연산자(Binary Operator) - 삼항연산자(Ternary Operator) 단항연산자(Unary Operator) + a 이항연산자(Binary Operator.. 2022. 7. 28.
[Swift] 단락평가 (Short-circuit Evaluation) 논리연산자에서 &&(Logical AND Operators)을 살펴보면 첫번째 연산자가 False이면 뒤 연산은 볼 필요 없이 False ||(Logical OR Operators)의 경우도 첫번째 연산자가 True면 뒤 연산을 안봐도 True임 이렇게 두번째 연산자를 평가하지 않는 식을 단락평가라고 함 스위프트는 논리식을 평가할 때 결과를 얻는데 최소한의 코드만 실행하며 이미 결과를 얻었다면 결과를 실행하지 않음 aPlus와 bPlus함수에 각각 a,b에 +1 하도록 함 if 문에서 문제가 일어남 aPlus 함수가 먼저 실행이 되고 연산자를 확인하였을때 두번째 연산자를 평가하지 않고 true를 반환하기 때문에 a값은 증가하지만 b 값이 증가하지 않는 것을 확인 할 수 있음 aPlus 함수가 거짓이므로 .. 2022. 7. 27.
루프내포시키기 while문 !을 이용한 코드 while !isBlocked{ // 앞이 막혀있지 않는동안 while !isOnGem{ // 보석이 없는동안 moveForward() // 앞으로 한칸이동 } collectGem() // 보석을 수집 turnLeft() // 왼쪽으로 회전 } OR 논리연산자를 이용한 코드 while isBlockedLeft || isOnGem{ // 왼쪽이 막혀있거나 보석이 있는동안 while isOnGem{ // 보석있는 동안 collectGem() // 보석을 수집 turnLeft() // 왼쪽으로 회전 } moveForward() // 앞으로 한칸이동 } 루프 내포시키기 - 코딩 배우기1 Swift playground 스위프트 플레이그라운드 2021. 12. 28.
논리연산자 - 논리의 미로 for i in 1 ... 8 { // 8번동안 반복 moveForward() // 앞으로 한칸이동 if isOnClosedSwitch && isOnGem { // 만약 스위치가 닫혀있고 보석이 있다면 collectGem() // 보석을 수집하고 toggleSwitch() // 스위치를 켜라 turnRight() // 오른쪽으로 회전 moveForward() moveForward() // 두칸 앞으로 이동 collectGem() // 보석을 수집해라 if isBlocked && isBlockedLeft { // 만약 앞과 왼쪽이 막혀있다면 turnLeft() turnLeft() // 왼쪽으로 뒤돌아라 moveForward() moveForward() // 두칸 앞으로 이동 turnRight() // 오른.. 2021. 12. 27.