728x90

 

☕ 정수형 타입 byte, short, int, long

- byte 타입은 1byte 크기의 정수 값을 가질 수 있다. 

- short 타입은 2byte 크기의 정수 값을 가질 수 있다. 

- int 타입은 4byte크기의 정수값을 가질 수 있다. 

- long타입은 8byte크기의 정수값을 가질 수 있다.

- 리터럴 값인 숫자 5는 int 타입이다

- 리털럴 값인 숫자 5L은 long 타입이다. (숫자 뒤에 L도는 ㅣ이 붙는다)

 

☕ 각 타입별 범위

 

☕ 실수형 타입 float, double

- float타입은 4byte 크기의 실수 값을 가질 수 있다. 

- double 타입은 8byte 크기의 실수 값을 가질 수 있다.

- 리터럴 값인 숫자 5.2는 double타입이다. 

- 리터럴 값인 숫자 5.2f는 float타입이다. (숫자 뒤에는 F 또는 f가 붙는다)

 

☕ 산술연산자

- 정수와 실수는 덧셈(+), 뺄쎔(-), 곱셈(*), 나눗셈(/), 나머지 구하기(%)를 할 수 있다. 

a = 5 + 4;
b = 4 - 3;
c = 3 * 2;
d = 5 / 2;
e = 4 % 3;

- a는 9, b는 1, c는 6, d는 2, e는 1의 값을 가진다. 

- 정수를 정수로 나누면 잘림 현상이 발생한다. 2.5가 아닌 2가 d에 저장된다. 

- 나머지 연산자는 앞의 숫자를 나누고 나눈 나머지 값을 구한다. 

 

☕ 증가 연산자와 감소 연산자

- 증가 연산자(++)를 사용하면 1이 증가된다.

- 감소 연산자(--)를 사용하면 1이 감소된다.

- 증가 연산자와 감소 연산자는 변수의 앞에 붙으면 전위 증가 연산자와 전위 감소 연산자라 부르고, 

  변수 뒤에 붙으면 후위 증가 연산자와 후위 감소 연산자라 말한다. 

  ++a,  a++ , --a, a--

a = 5; 
a++;

b = 4; 
b--;

- a++는 a = a+1 과 같은 뜻이다. a는 6이 된다

- b--는 a = a-1과 같은 뜻이다. b는 3이 된다.

 

☕ 산술 대입 연산자

- 산술 대입 연산자는 +=, -=, *=, /=, %=가 있다

a = 5;
a += 3;

b = 4;
b -= 2;

c = 8;
c *= 2;

d = 4;
d /= 2;

e = 4;
e %= 2;

- a += 3a = a + 3을 줄인 식이다. a는 8이 된다.

- b -= 2 b = b -2를 줄인 식이다. 

 

☕ 괄호()

- 괄호가 있을 경우 괄호 안의 내용부터 계산한다

a = 3;
b = 5;

c = a * (b + 5);
d = a * b + 5;

 

☕ 정수와 실수의 최솟값과 최댓값

- int 타입과 double 타입이 표현할 수 있는 최댓값과 최솟값을 출력한다

public class NumberExam01 {
    public static void main(String[] args) {
        int maxInt = Integer.MAX_VALUE;
        int minInt = Integer.MIN_VALUE;

        double maxDouble = Double.MAX_VALUE;
        double minDouble = Double.MIN_VALUE;

        System.out.println(maxInt);
        System.out.println(minInt);

        System.out.println(maxDouble);
        System.out.println(minDouble);
    }
}
결과값: 
2147483647
-2147483648
1.7976931348623157E308
4.9E-324

 

☕ 오버플로우(overflow)

-계산 결과가 최댓값을 넘거나, 최솟값보다 작을 경우 음수는 양수로, 양수는 음수로 바뀌는 문제가 발생한다. 

 이를 오버플로우라고 한다.  

public class NumberOverflow {
    public static void main(String[] args) {
        int value = 0;
        int maxInt = Integer.MAX_VALUE;

        System.out.println(value + 1);
        System.out.println(maxInt+ 1);

    }
}
결과값: 
1
-2147483648
728x90