본문 바로가기
TIL/C#

비교, 논리, 삼항 연산자

by jaemmm 2020. 9. 5.

오늘도 어김없이 돌아온 공부 시간!!!!! 짝짝짝

저번 시간에 배웠던 대입 연산자와 전위 후위 연산자는 아직까지 머리에 잘 남아있는 듯하다.

그렇다면 이번 시간에는 또 다른 연산자인 비교, 논리, 삼항 연산자에 대해 알아보도록 하겠다.

거두절미하고 바로 시작해봅시다.

 


먼저 비교 연산자란 단어 자체만 봐도 느낌이 오는데 말 그래도 비교를 해주는 연산자이다.

 

비교를 하기 때문에 여기서부터는 내가 처음에 배웠던 bool함수가 쓰인다. (참과 거짓을 나타내는 함수)

 

시작하기 전에 비교 연산자는 종류가 여러 가지이기 때문에 종류를 한번 훑어보고 시작하겠다.

 

x == y x 와 y가 같은가
x != y x 와 y가 다른가
x > y x가 y 초과인가
x < y x가 y 미만인가
x >= y x가 y 이상인가
x <= y x가 y 이하인가

 

종류는 이렇게 6개로써 "==", "!="이 두 개를 제외하고는 한 번씩은 본 적이 있을 것이다.

 

그럼 바로 스크립트에서 예시를 들어보겠다.

 

지금까지 배운 것도 같이 응요해서 출력해보았다.

먼저 변숫값을 지정해줘야 하니 가볍게 내 나이로 하겠다.

 

bool 함수는 true false를 판단하는 함수이기 때문에 bool howOld = age > 20을 보면 age를 26으로 잡아뒀기 때문에 howOld의 값은 true가 될 것이다.

 

출력할 때도 지금까지는 Debug.Log를 두 줄 써서 따로따로 했다면 이제 문자열 연산자를 배웠으니 한 줄에 출력해보겠다.

 

문자열 " "을 사용했기 때문에 한 칸 공백이 생겼다.

이런 식으로 단순히 비교를 할 때 사용된다는 것을 알고 있으면 될 것 같다.

 

 


다음으로 논리 연산자에 대해서도 한 번 알아보겠다.

 

x && y x와 y의 값 둘 다 true일 때 true를 출력
x || y x와 y 둘 중에 하나라도 true값이 있다면 true를 출력
! x x가 false일 때 true를 출력

 

녀석들이 나왔다. 하지만 이해하면 이 또한 금방 적응하기 때문에 바로 스크립트에서 예시를 들어보겠다.

 

예시를 들었을 뿐 비만이라는 소리는 아니다

일단 작성한 스크립트를 해석해보겠다. 키는 183 몸무게를 72로 정해두었다.

 

비만이라는 값이 참이 되려면 키는 183보다 작아야 하며 몸무게는 80을 넘어야 출력 값이 ture값이 나온다.

 

두 값이 모두 false이기 때문에 당연히 값은 false가 나온다. 

 

좋았으!!!

"&&" 와 " || "는 사용방법이 똑같기 때문에 구태여 설명하지는 않겠다.

(참고로 " || "이 기호는 \를 시프트 키를 누르면서 누르면 된다.)

 

 

"! x" 이렇게 쓰이는 것은 처음 보기 때문에 한번 짚고 넘어가겠다. 

 

물론 지금 4학년이다.

학년이 3학년이라고 변숫값을 지정했을 때 bool 값인 graduation은 grade가 4 이상일 때 true값을 출력하기 때문에 지금 상황으로는 false를 출력할 것이다.

 

하지만 Debug.Log에서 !graduation을 썼기 때문에 false값이 반전되어 true값이 출력될 것이다.

 

퍼펙트

그리고 마지막으로 삼항 연산자에 대해서 알아보도록 하겠다.

 

삼항 연산자란 하나의 조건에 따라 값을 반환을 하도록 해주는 연산자이다. 

 

일단 먼저 예시를 들어 설명하겠다.

 

string말고 int float도 사용 가능

간단하게 설명을 하자면 삼항 연산자는 "? a : b"와 같이 사용된다.

 

"?"앞의 bool값true일 때 a값을 false일 때 b값을 출력하는 연산자이다. 

 

그렇다면 위의 사진을 보고 출력 값을 한 번 예상해보도록 하겠다.

 

height와 weight 두 값이 전부 조건을 충족하지 못하기 때문에 isObesity는 false값을 출력할 것이다.

 

fasle값이 출력으니, 이에 따라 condition은 b의 값인 "나쁨"을 출력할 것이다.

 

 

이처럼 삼항 연산자는 조건문(다음 시간에 배울 것)을 사용하지 않고서도 단순하게 표현이 가능하다는 점에서 매우 편리하다. 

 

 

 

오늘 배운 연산자들은 게임에서도 많이 사용되는 연산자이기 때문에 꼭 완벽히 이해하고 자유롭게 사용할 수 있게 끔 많은 반복이 필요하다. 

 

 

이번에는 한 번에 세 개의 연산자를 배웠지만 두 개가 어느 정도 연관이 되어있는 것들이기 때문에 한꺼번에 같이 다뤄보았다.

요 근래 C# 공부만 해서 빨리 게임을 만들어보고 싶지만 이런 기초적인 것들을 알아야 다음 단계로 진행이 가능하기 때문에 참고 열심히 공부하겠다. 이상!!!!

 

 

 

 

 

다음 시간에 쭉~~~~

 

 

 

'TIL > C#' 카테고리의 다른 글

조건문 (switch-case,default)  (0) 2020.09.09
조건문 (if-else)  (0) 2020.09.07
대입 연산자 (2) 후위 전위 연산자  (0) 2020.09.04
대입 연산자  (0) 2020.09.04
문자열 연산자  (0) 2020.09.04

댓글