연산자 종류와 우선순위
프로그래밍 언어에도 여러 가지의 연산자가 함께 있는 경우 우선수위가 있어요
연산자를 기준으로 피연산자의 갯수가 많을수록 우선순위가 낮어집니다 ;;
연산자우선순위
- 다항연산자 : !(논리부정), ~(비트부정), + -(부호), ++ -- (증감연산자)
- 산순연산자 : *(곱하기), /(나누기), %(나머지연산자), +(더하기), -(빼기)
- 시프트연산자 : <<, >>, >>>
- 관계연산자 : <, <=, >, >=, ==, !=
- 논리연산자 : 비트논리연산 &, ^, | 일반논리연산 &&, ||
- 조건연산자 : ?, :
- 대입연산자 : =, +=, -=, *=, /=, %=, <<=, >>=, >>>=, &=, ^=, |=
다항연산자에서 ---> 대입연산자순으로 순위가 낮아짐
단항 연산자는 연산자를 기준으로 피연산자가 하나인 연산자를 의미하고 연산의 우선순위가 가장높음
!(논리부정)
논리값을 부정 - true는 false로 false는 true로 바낌
~(비트부정)
해당 데이ㅓ의 각 비트를 0은 1로 1은 0으로 바낌
+ -(부호)
부호변경
++ -- (증감연산자)
++ : 값을 1증감시킴, -- : 값을 1감소시킴
산술 연산자는 일반적인 사칙연산에 사용되는 연산자임
+, -, *, / (더하기, 빼기, 곱하기, 나누기) 일반적인 사칙연산
% 오른쪽 수로 왼쪽 수를 나눈후 나머지값(10%3 이면 10을 3으로 나누면 9지만 나머지값인 1)
+ 숫자간의 연산에는 더하기로 적용되고 문자열 연산에는 연결의 의미로 사용됨
왼쪽으로 1비트씩 이동할때마다 값이 2배씩 증가하고, 오른족으로 1비트씩 이동할때마다 1/2씩 감소함
하지만 오버플로가 발생할때 자리가 잘려 나갈때는 예외 그리고 >>와 >>>는 양수일 경우 결과가 같지만 음수일경우에는 결과가 달라짐
<<
주어진 비트만큼 왼쪽으로 이동, 새로 진입하는 비트는 0
>>
주어진 비트만큼 오른쪽으로 이동, 새로 진입하는 비트는 비트는 부호 비트와 동일
>>>
주어진 비트만큼 오른쪽으로 이동, 새로집입하는 비트는 0
관계 연산자는 두수 사이의 관계가 참(true)인지 거짓(false)인지 판단해 주는 연산자임
< (크다) <= (크거나같다)
> (작다) <= (작거나같다)
== (같다) != (같지않다)
논리 연산자는 논리를 계산하여 참인지 거짓인지 나타내는 연산자임
AND(&, &&) 둘다 참일때만 참
OR(|, ||) 둘중 하나만 참이어도 참
XOR(^) 둘의 논리값이 서로 다를때 참
조건연산자는 조건식의 결과에 따라 수행되는 값을 결정하는 연사자임
A = (조건)? A:C 조건이 참일 경우 A에 B를 대입하고 거짓일때는 C를 대입함
대입 연산자는 변수에 값을 대입하는 연산자임
= (값대입)
+=, -+, *=, /= (해당 연상을 수행한 값을 대입)
'HTML / CSS / Java Script' 카테고리의 다른 글
[JS] 자바스크립트 반복문 사용하기 (0) | 2014.07.25 |
---|---|
[JS] 자바스크립트 조건문 사용하기(if) (0) | 2014.07.24 |
[JS] 자바스크립트 기본문법 (지역변수, 전역변수) (2) | 2014.07.22 |
[JS] 자바스크립트 기본 document.write( ) (2) | 2014.07.21 |
[JS] 자바스크립트 기초 (사용하는이유) (1) | 2014.07.20 |