JS를 통해 알고있던 내용은 최대한 덜어냈습니다
다른 점이나 중요한 점, 애매하게 알고있던 점만 복습 차원에서 올림!
프로그램에 실행시 빌드 옵션 있음

+a, -a...b = a+c, b+=a...condition ? A : BJS에도 있는 삼항연산자가 C#에도 있구나?
++a와 a++의 차이는 뭘까?
먼저 ++a는 값을 미리 증가시켜 사용할 수 있다. 이를 어셈블리로 나타내면 다음과 같다
INC a ; a 값을 증가시킴
MOV result, a ; 증가된 값을 반환
위처럼 단순하게 a의 값을 증가시킨 후 반환한다.
하지만 a++은 어떨까?
MOV temp, a ; 현재 값을 임시 변수에 저장
INC a ; a 값을 증가시킴
MOV result, temp ; 원래 값을 반환
위처럼 a라는 변수의 원본 값을 저장한뒤, 그것을 반환한다.
따라서 결과값이 같을때 극한의 최적화를 위해선 ++a처럼 전위연산자를 사용하도록 하자.
int a = 5;
int b = 6;
int c = a-b; // -1
우측 값을 좌측에 대입한다.
항상 원시타입과 참조타입을 헷갈려하지말자!!
원시타입은 변수에 값저장. 참조타입은 변수에 메모리 주소저장
=> call by value, call by reference
C#의 비교연산자는 ==, !=만 있다. 타입이 달라도 값만 같으면 참이다.

문자열 비교도 지원한다.

참조타입은 다음 시간에 다뤄보자
!논리부정 : 부울 반대값 (true => false, false => true)
&&논리곱 : true&&true일 경우만 true고 그외 false
||논리합 : false||false일 경우만 false 그외 true
& : 둘 다 참이면 참| : 둘 중 하나만 참이어도 참^ : 두 값이 같으면 거짓, 두 값이 다르면 참<< : 비트를 왼쪽으로 한 칸씩 옮김.

>> : 비트를 오른쪽으로 한 칸씩 옮김.