자바의 기초 - 자료형 - 숫자

반응형

숫자 자료형은 숫자 형태로 이루어지며 우리가 익숙히 알고 있는 것들이다. 123과 같은 정수, 12.34 같은 실수, 드물게 쓰이지만 8진수나 16진수 같은 것들도 있다. 자바에서 이런 숫자들을 어떻게 사용하는지 알아보자.

  1. 정수
  2. 실수
  3. 8진수와 16진수
  4. 숫자 연산
  5. 증감 연산

정수

자바에서 정수를 표현하는 자료형은 int, long이다. int와 long은 표현할 수 있는 숫자의 범위에 차이가 있다.

자료형표현 범위

int -2147483648 ~ 2147483647
long -9223372036854775808 ~ 9223372036854775807

byte, short 등도 있지만 잘 사용하지 않는다. byte는 -128부터 127까지, short는 -32768부터 32767까지의 값을 가질 수 있는 자료형으로 특정 상황에서 효율적인 메모리 사용이 필요한 경우에 사용한다.

int와 long을 사용한 예를 살펴보자.

int age = 10;
long countOfStar = 8764827384923849L;

long 자료형 변수에 값을 대입할 때 int 자료형의 최댓값인 2147483647보다 크면 8764827384923849L처럼 끝에 접미사로 L 자를 붙여 주어야 한다. 만약 큰 숫자에 접미사 L을 누락하면 컴파일 오류가 발생한다.

알파벳 대문자 L 대신 소문자 l도 사용할 수 있지만 숫자 1과 비슷해서 헷갈릴 수 있어서 추천하지 않는다.

실수

자바에서 실수를 표현하는 자료형은 float, double이다. float와 double 역시 표현할 수 있는 숫자의 범위에 차이가 있다.

자료형표현 범위

float −3.4∗1038 ~ 3.4∗1038
double −1.7∗10308 ~ 1.7∗10308

float와 double을 사용한 예를 살펴보자.

float pi = 3.14F;
double morePi = 3.14159265358979323846;

자바에서 실수형은 기본값이 double이므로 앞의 예에서 보듯이 float 변수에 값을 대입할 때에는 3.14F처럼 끝에 접미사로 F 자를 꼭 붙여 주어야 한다. float 자료형에 값을 대입할 때 접미사를 누락하면 컴파일 오류가 발생한다. 대문자 F 대신 소문자 f를 사용해도 된다.

실수는 지수 표현식으로 다음과 같이 사용할 수도 있다.

double d1 = 123.4;
double d2 = 1.234e2;

d1과 d2의 값은 123.4로 같다. d2의 e2는 10의 제곱(102)을 의미한다. 즉, 1.234∗102이 되어 123.4가 되는 것이다.

8진수와 16진수

8진수와 16진수는 int 자료형을 사용한다. 숫자 0으로 시작하면 8진수, 숫자 0과 알파벳 x로 시작하면 16진수가 된다. 8진수와 16진수를 사용한 예를 살펴보자. 023과 0xC3에 해당하는 십진수 값은 각각 19, 195이다.

int octal = 023;    // 십진수: 19
int hex = 0xC;     // 십진수: 12

점프 투 자바진법 더 알아보기

8진수와 16진수는 컴퓨터에서 숫자를 표현할 수 있는 방법 중 하나이다. 8진수는 0부터 7까지를 사용하여 숫자를 표현한다. 예를 들어 8진수 23은 2∗81 + 3∗80=19가 되어 십진수 19와 같다. 16진수는 0부터 9까지의 숫자와 A부터 F까지의 알파벳을 사용하여 숫자를 표현한다. 알파벳 A는 숫자 10, B는 11, C는 12, D는 13, E는 14, F는 15를 의미한다. 예를 들어 16진수 C3은 12∗161+3∗160=195가 되어 십진수 195와 같다.

숫자 연산

자바의 사칙연산은 우리가 실생활에서 사용하는 사칙연산과 다를 바가 없다. 자바는 +, -, *, / 기호를 이용하여 두 숫자 간의 사칙연산을 수행한다. 사칙연산을 수행하는 자바 프로그램을 작성하고 실행해 보자.

반응형