Operator라는 스크립트를 만들고 게임 오브젝트에 넣어주고 다른 스크립트는 제거한다.
public class Operator : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
// 수식연산자
int num1 = 10;
int num2 = 2;
int num3 = 0;
num3 = num1 + num2;
num3 = num1 - num2;
num3 = num1 * num2;
num3 = num1 / num2;
num3 = num1 % num2;
Debug.Log(num3);
// 증감연산자
num3++;
Debug.Log(num3);
num3--;
Debug.Log(num3);
// 할당연산자
num3 = 100;
num3 += 20;
num3 -= 20;
num3 *= 20;
num3 /= 20;
num3 %= 100;
Debug.Log(num3);
// 관계연산자
int a = 10;
int b = 20;
bool isTrue = false;
isTrue = (a < b);
isTrue = (a <= 10);
isTrue = (a > b);
isTrue = (a >= b);
isTrue = (a == b);
isTrue = (a != b);
Debug.Log(isTrue);
// 논리연산자
isTrue = (a > 5) && (b > 10);
isTrue = (a > 10) && (b > 10);
isTrue = (a > 10) || (b > 10);
isTrue = (a > 10) || (b > 20);
isTrue = !(a > 10) || (b > 20);
isTrue = !isTrue;
Debug.Log(isTrue);
//비트연산자
int number1 = 5;
int number2 = 10;
int result = number1 & number2;
Debug.Log(result);
result = number1 | number2;
Debug.Log(result);
result = number1 ^ number2;
Debug.Log(result);
}
// Update is called once per frame
void Update()
{
}
}
// 수식연산자 (+, -, *, /, %)
수식연산자는 수학시간에 배운거랑 똑같다.
"="를 기준으로 우항을 계산하고 그 값을 좌항에 있는 변수에 대입한다.
%는 나머지를 의미한다.
num3 = num1 % num2 는 num1을 num2로 나누었을때 나머지를 num3에 대입하겠다는 뜻이다.
num3의 값은 다음과 같이 바뀐다.
12, 8, 20, 5, 0
그래서 현재의 num3값을 출력하면 0이 나온다.
//증감연산자 (++, --)
++나 --기호를 숫자형 변수에 붙여주면 그 변수의 값은 정확히 1증가 혹은 감소한다.
증감연산자는 변수앞이나 뒤에 붙여도 된다.
//할당연산자 (=, +=, -=, *=, /=, %=)
num3 = 100;
은 num3 에 100이라는 값을 할당.
num3 += 20;
은 num = num3 + 20;
와 같은 말이다. 즉 num += 20
은 num3에 20을 더하고 그 더한 값을 num3에 할당하겠다는 의미다.
다른 할당연산자도 같은 뜻이다.
//관계연산자 (<, >, <=, >=, ==, !=)
말 그대로 관계연산을 한다. <, >, <=, >= 은 수학시간에 배운것과 같다. 하지만 == 과 != 은 같다 와 같지 않다를 말한다.
a == b;
는 a 랑 b가 같다.
a != b;
는 a 는 b랑 다르다.
를 의미한다.
//논리연산자 (&&, ||, !)
&&은 &&을 기준으로 우변과 좌변 모두 true일때 true를 반환하고
||은 ||을 기준으로 우변과 좌변 중 하나라도 true이면 true를 반환한다.
!은 반환된 값을 반대로 반환해준다.
isTrue = !(a > 10) || (b > 20);
를 살펴보면
(a > 10) || (b > 20)
은 두변 모두 false인데 앞에 !을 붙여 isTrue변수에 true를 대입한다. 그러고 나서 다시 isTrue변수에 !isTrue를 넣기 때문에 (isTrue = !isTrue) false를 넣어준다.
//비트연산자 (&, |, ^)
비트연산은 이진법을 이용한다.
&을 이용하면 비교하는 자릿수가 둘다 1이면 1
|을 이용하면 비교하는 자릿수중 하나라도 1이면 1
을 반환한다.
5와 10을 2진수로 표현했다.
0101
1010
그래서 &을 사용하면 새로운 이진수가 나오는데 결과는 0000으로 나타난다.
둘다 1이 아니기 때문에 0을 반환한다. 0을 다시 10진수로 표현하여 출력하면 0이 출력된다.
|을 사용하면 둘중에 하나라도 1이기 때문에 1111이 나온다. 1111은 10진수로 출력하면 15다.
^을 사용하면 둘이 같으면 0을 반환하고 둘이 다르면 1을 반환한다.
0101
1010
계속 다르기 때문에 1111이 결과고 1111을 10진수로 표현하면 15가 나온다.