Page 26 -
P. 26

1
                          Note    Integer.MIN_VALUE 상수는 가장 작은 정수 값을 나타내고, Integer.MAX_VALUE는 가장 큰 정수
                          값을 나타낸다. Long, Short, Byte 클래스에도 MIN_VALUE와 MAX_VALUE 상수가 있다.



                        대부분은 int 타입이 가장 알맞다. 물론 지구에 살고 있는 사람 수를 표현하고 싶다면 어쩔 수 없                           기본 프로그래밍 구조
                        이 long을 사용해야 한다. byte와 short 타입은 주로 저수준 파일 처리 등 특수한 응용이나 저장

                        공간이 귀할 때 큰 배열을 만드는 용도로 사용한다.


                          Note    long 타입으로 충분하지 않을 때는 BigInteger 클래스를 사용한다. 1.4.6 큰 숫자에서 자세히 설명한다.


                        자바의 정수 타입 범위는 프로그램을 실행하는 머신과 상관없이 동일하다. 이는 자바를 ‘한 번 작

                        성하고, 어디서나 실행’하는 언어로 설계했기 때문이다. 반면에 C나 C++로 작성한 프로그램은
                        컴파일하는 프로세서에 따라 정수 타입이 다르다.

                        long 정수 리터럴은 접미어 L을 붙여서 작성한다(예를 들어 4000000000L). byte나 short 타입 리
                        터럴을 작성하는 문법은 없다. 따라서 (byte) 127처럼 캐스트(cast) 표기법을 사용한다(1.4.4 숫자
                        타입 변환 참고).

                        16진수 리터럴에는 접두어 0x를 붙인다(예를 들어 0xCAFEBABE). 2진수 값에는 접두어 0b를 붙인
                        다(예를 들어 2진수 0b1001은 9).


                              Caution  8진수는 접두어 0을 붙인다. 예를 들어 8진수 011은 9다. 하지만 이런 형태는 혼동을 줄 수 있으
                          므로 접두어 0을 사용하는 8진수 리터럴은 가급적 이용하지 않는 것이 좋다.



                        숫자 리터럴은 밑줄(_)을 붙일 수 있다. 예를 들어 1_000_000(또는 0b1111_0100_0010_0100_0000)
                        으로 숫자 1,000,000을 나타낼 수 있다. 밑줄은 사람이 구분하는 용도이므로 컴파일할 때는 컴파
                        일러가 밑줄을 삭제한다.


                          Note    음수가 될 수 없는 정수 값을 다루고, 추가 비트가 필요한 경우는 부호 있는 정수 값을 부호 없는 형태로
                          해석할 수 있다(단 약간 주의가 필요하다). 예를 들어 byte 값 b는 -128~127 범위를 나타낸다. 그러나 0~255 범위
                          를 표현할 때도 값을 byte 안에 저장할 수 있다. 이진 산술 연산의 특성 때문에 결과가 오버플로되지 않는 한 덧셈, 뺄
                          셈, 곱셈이 모두 제대로 작동한다. 다른 연산을 할 때는 Byte.toUnsignedInt(b)를 호출해 0~255 범위에 있는
                          int 값을 얻은 후 정수 값으로 계산해 결과를 다시 byte로 캐스트하면 된다. Integer와 Long 클래스에는 부호 없
                          는 나눗셈과 나머지 연산용 메서드가 있다.




                                                                                                      037




         코어 자바 9(본문)최종.indd   37                                                                2018-03-15   오전 11:31:01
   21   22   23   24   25   26   27