[자바의 정석] Chapter3 연산자
1. 연산자(operator)
종류 |
연산방향 |
연산자 |
우선순위 |
단항 연산자 |
← |
++ -- + - ~ ! (타입) |
높음
낮음 |
산술 연산자 |
→ |
* / % | |
→ |
+ - | ||
→ |
<< >> >>> | ||
비교 연산자 |
→ |
< > <= >= instanceof | |
→ |
== != | ||
논리 연산자
|
→ |
& | |
→ |
^ | ||
→ |
| | ||
→ |
&& | ||
→ |
|| | ||
→ |
?: | ||
대입 연산자 |
← |
= *= /= &= += -= <<= >>= >>>= &= ^= |= |
1. 산술 > 비교 > 논리 > 대입 . 대입은 제일 마지막에 수행
2. 단항(1) > 이항(2) > 삼항(3) . 단항 연산자의 우선순위가 이항 연산자보다 높다
3. 단항 연산자와 대입 연산자를 제외한 모든 연산의 진행방향은 왼쪽에서 오른쪽이다.
2. 단항 연산자
2.1 증감 연산자 ++ --
증가연산자(++) : 피연산자(operand)의 값을 1 증가.
감소연산자( -- ) : 피연산자(operand)의 값을 1 감소
*전위형 j = ++i; ++i; j = i; 값이 참조되기 전에 증가시킨다
*후회형 j = i++; j = i; i++; 값이 참조된 후에 증가시킨다
2.2 부호 연산자 + -
부호 연사자 +의 경우는 피연사자에 양수 1을 곱한 결과를,
그리고 – 의 경우에는 피연자에 음수 1을 곱한 결과를 얻는다.
(부호연산자는 피연자의 부호를 변경하는데 사용됨. Boolean,char제외)
2.3 비트전환 연산자 ~
정수형과 char형에만 사용.
피연사자를 2지수로 표현 했을 때, 0은 1로 , 1은 0으로
*byte , short, char형은 int형으로 변환된 후에 전환됨.
2.4 논리부정 연산자 !
boolean형에만 사용. True는 false로, false는 true로
토글버튼을 논리적으로 구현
3. 산술연산자
3.1 사칙 연산자 + - * /
1) int보다 크기가 작은 자료형을 int형으로 형변환 후 연산을 수행
2) 두 개의 피연산자 중 자료형의 표현범위가 큰 쪽에 맞춰서 형변환 된 후 연산을 수행
3) 정수형 간의 나눗셈에서 0으로 나누는 것은 금지 (만일, 0으로 나누면 컴파일은 정상적으로 되지만 실행시 오류가 난다.- arithmeticException)
3.2 나머지 연산자 %
왼쪽의 피연사자를 오른쪽 피연산자로 나누고 난 나머지 값을 돌려주는 연산자
5 % 2 = 1
3.3 쉬프트 연산자 << >> >>>
X << n은 x * 2의n승의 결과와 같다.
X >> n은 x / 2의n승의 결과와 같다.
4. 비교 연산자
4.1 대소비교 연산자 < > <= >=
4.2 등가비교 연산자 == !=
* 참조형 변수에 사용할 수 있는 연산자는 ‘==’와 ‘!=’ 그리고 캐스트 연산자뿐이다.
String만 예외적으로 문자열 결합에 ‘+’을 사용하는 것을 허용한다.
문자열 비교에는 ‘==’ 대신 equals()를 사용해야 한다.
5. 논리 연산자
5.1 논리 연산자 && ||
|| (or결합) – 피연산자 중 어느 한 쪽만 true이면 true를 결과로 얻는다.
&&(and결합) – 피연산자 양쪽 모두 true이어야 true를 결과로 얻는다.
* ||는 \위에 있는 모양~
* 비트 연산자 ‘|’ 와 ‘&’ 역시 피연산자로 boolean형을 허용하므로 조건식간의 연결에 사용할 수 있지만, ‘||’ 나 ‘&&’와는 달리 항상 양쪽의 피연산자를 모두 검사해야 한다.
5.2 비트 연산자 & | ^
| (or연산자) – 피연산자 중 한 쪽의 값이 1이면 , 1을 결과로 얻는다. 그 외에는 0
&(and연산자) – 피연산자 양 쪽이 모두 1이어야 1을 결과로 얻는다. 그 외에는 0
^(xor연산자) – 피연산자의 값이 서로 다를 때만 1을 결과로 얻는다. 같을 때는 0
6. 그 외의 연산자
6.1 삼항 연산자 ? :
(조건식) ? 식1 : 식2
Result = (x > 0) ? x : -x ; = if (x > 0 ){
Result = x;
} else {
result = -x;
}
6.2 대입 연산자 = op=
변수에 값 또는 수식의 연산경과를 저장하는데 사용.
대입 연산자의 왼쪽에는 반드시 변수가 위치해야 하며, 오른쪽에는 리터럴이나 변수 또는 수식이 올 수 있다.
변수 앞에 키워드 ‘final’을 붙이면 상수가 된다. 상수는 선언과 동시에 값을 저장해야 하며 한번 저장된 값은 바꿀 수 없다.
'공부해요 > JAVA' 카테고리의 다른 글
[ 자바의 정석 ] p2 ~ p15 (0) | 2014.07.26 |
---|---|
[ 자바의 정석 ] p18 ~ p38 (0) | 2014.07.26 |
[ 자바의 정석 ] p80 ~ p111 (0) | 2014.07.26 |
[ 자바의 정석 ] ch2 (0) | 2014.07.26 |
[ 자바의 정석 ] ch3-1 (0) | 2014.07.26 |