공부해요/JAVA

[ 자바의 정석 ] p44 ~ p78

예쁜꽃이피었으면 2014. 7. 26. 01:22


자바의 정석3.docx


[자바의 정석] 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지수로 표현 했을 때, 01, 10으로

*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 << nx * 2n승의 결과와 같다.

X >> n x / 2n승의 결과와 같다.

 

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