**이 페이지에서 알 수 있는 내용

- Operator ( Arithmetic Operators, Equality and Relational Operators, Type test Operators
						 Bitwise Operators, Assignment Operators, Logical Operators)**

Operator

Arithmetic

연산자 의미
+ 더하기
- 빼기
* 곱하기
/ 나누기
% 나머지
~/ 몫이 정수
++ 증가
- - 감소

Type test

연산자 의미
is 자료형 이라면
is! 자료형이 아니라면

Equality and Relational

연산자 의미
< 작다
<= 작거나 같다
> 크다
>= 크거나 같다
== 같다
!= 다르다

Assignment

연산자 의미
= 대입
+= 더하고 대입
-= 빼고 대입
*= 곱하고 대입
/= 나누고 대입

Bitwise

연산자 의미
& and
^ xor
~ 반전
<< 왼쪽으로 비트이동
>> 오른쪽으로 비트이동

Logical

연산자 의미
&& And
! NOT
void main() {
  //계산 연산자
  int number = 2;

  
  print(number + 2);
  print(number - 2);
  print(number * 2);
  print(number / 2);
  print(number % 2);
  print(number % 3);
  
  number ++;
  print(number);
  number --;
  print(number);
  
  int number2 = 10;
  print(number2);
  number2 = 8;
  print(number2);
  
  // 변수 number2 의 값이 null 값일 경우 4를 변수 number2에 넣는다. 
  number2 ??= 4;
  
  print(number2);
  
  // null safety 버전부터는 자료형에 ?를 붙여줘야 한다.
  int? number3;
  
  print(number3);
  
  // 변수 number3가 null값을 가지고 있으면 5를 number3변수에 넣는다.
  number3 ??= 5;
  
  print(number3);
  
  int number4 = 2;
  
  // 변수 number4에 1을 더한다.
  // number4 = number4 + 1; 과 동일하다.
  number4 += 1;
  
  print(number4);
  
  // 변수 number4에 1을 뺀다. 
  // number4 = number4 - 1; 과 동일하다.
  number4 -= 1;
  
  print(number4);
  
  // 변수 number4에 2를 곱한다.
  // number4 = number4 * 2; 과 동일하다.
  number4 *= 2;
  
  print(number4);
  
  // 변수 number4에 2를 나눈다.
  // number4 = number4 ~/ 2 ; 과 동일하다.
  // 나누기는 나눴을때 number4변수의 자료형이 정수형이므로 실수가 나올경우 에러가 발생한다.
  // 따라서 ~/를 사용한다.
  // ~/는 나누기 연산자지만 나눈 값이 정수로만 표현되게 하는 연산자이다.
  number4 ~/= 2;
  
  print(number4);

  // 비교 연산자
  int number5 = 1;
  int number6 = 2;
  
  // number5가 number6보다 작다
  print(number5 < number6);
  
  // number5가 number6보다 크디
  print(number5 > number6);
  
  // number5가 number6보다 작거나 같다
  print(number5 <= number6);
  
  // number5가 number6보다 크거나 같다
  print(number5 >= number6);
  
  // number5와 number6은 같다
  print(number5 == number6);
  
  // number5와 number6은 다르다
  print(number5 != number6);
  
  // number5는 정수형이다.
  print(number5 is int);
  
  // number5는 문자열이다.
  print(number5 is String);
  
  // number5는 진위형이다.
  print(number5 is bool);
  
  // number5는 문자열이 아니다.
  print(number5 is! String);
  
  // 12가 10보다 크고 10이 1이 0보다 크다. (참)
  // 조건은 3개 이상도 가능하다.
  bool result = 12 > 10 && 1 > 0;
  
  print(result);
  
  // 12가 10보다 크고 1이 0보다 작다. (거짓)
  result = 12 > 10 && 1 < 0;
  
  print(result);
  
  // 12가 10보다 크거나 1이 0보다 크다. (참)
  result = 12 > 10 || 1 > 0;
  
  print(result);
  
  // 12rk 10보다 크거나 1이 0보다 작다. (참)
  result = 12 > 10 || 1 < 0;
  
  print(result);