Page 13 -
P. 13

산의 결과가 그 연산의 대상이 되는 데이터 타입과 동일한 데이터 타입을 가진다는 점이다. 이 원칙 때문에                          1
                     표현식의 결과를 대략적으로 머릿속에서 짐작할 때 실제 결과가 완전히 다를 수 있다. 예를 들어 5/3
                     은 데이터 타입에 따라 그 값이 1일 수도 있고 5.0/3.0 = 1.66666666666667일 수도 있다. 후자의                   기초 개념
                     경우 실제 5/3의 값에 아주 가깝기는 하지만 두 경우 모두 5/3과 같은 값은 아니다. 표 1-2는 각 데
                     이터 타입의 속성을 요약한 것으로 모든 정보를 담고 있지는 않다. 이 절의 마지막과 Q&A를 통해서
                     추가적인 연산자와 여러 가지 예외적인 상황에 대해서 알아볼 것이다.



                       표 1-2 자바에서의 기본 데이터 타입
                                                                              전형적인 표현식
                        타입          값의 집합(범위)               연산자
                                                                            표현식           값
                                        31
                                   31
                         int      -2 ~+2 -1 사이의 값          + (덧셈)           5 + 3          8
                                   (32비트 2의 보수)            - (뺄셈)           5 - 3         12
                                                           * (곱셈)           5 * 3         15
                                                          / (나눗셈)           5 / 3          1
                                                          % (나머지)           5 % 3          2

                        double    배정도 실수(IEEE 754          + (덧셈)         3.141 - .03    3.111
                                 표준에 정해진 64비트 값)           - (뺄셈)         2.0 - 2.0e-7  1.9999998
                                                           * (곱셈)          100 * .015     1.5
                                                          / (나눗셈)        6.02e23 / 2.0  3.01e23

                       boolean      true 또는 false       & & (and 논리곱)    true & & false  false
                                                         || (or 논리합)     false || true    true
                                                        ! (not 논리부정)        !false        true
                                                       ^ (xor 배타 논리합)     true ^ true    false

                        char         문자(16-비트)                [산술 연산은 거의 사용되지 않음]



                     표현식  앞서 표에서 설명되었듯이 대부분의 표현식은 이항 연산자들로 이루어진다. 리터럴(또는 표
                     현식) 다음에 연산자가 오고 그다음에 또 다른 리터럴(또는 또 다른 표현식)이 온다. 표현식이 하나
                     이상의 연산자로 이루어질 때는 나열된 순서가 중요할 때가 많다. 자바 언어에서는 다음의 연산자 우

                     선순위가 적용된다. 연산자 *와 /(그리고 %)는 +나 - 연산자보다 우선순위가 높기 때문에 먼저 적용
                     된다. 논리 연산자 중에서는 !이 가장 높은 우선순위를 가지고 & &와 ||가 그다음 우선순위를 가진다.
                     일반적으로 같은 우선순위의 연산자 간에는 왼쪽에 있는 연산자부터 차례로 적용된다. 이 원칙이 적
                     용되지 않게 하려면 의도에 맞게 우선해서 실행될 부분을 괄호로 감싸주면 된다. 우선순위 규칙은 언
                     어마다 조금씩 다르기 때문에 코드를 다른 환경으로 포팅할 때 의도하지 않은 의미 변화를 피하기 위
                     해 항상 괄호를 써주는 것이 바람직하다.











                                                                                              025
   8   9   10   11   12   13   14   15   16   17   18