지식보부상님의 공부 일지

Java [03] 연산자 본문

KB IT's Your Life/Java

Java [03] 연산자

지식보부상님 2025. 4. 21. 16:19

[1] 부호 / 증감 연산자

◈ 부호 연산자

 

◈ 증감 연산자

 

[2] 산술 연산자

◈ 산술 연산자

 

[3] 오버플로우와 언더플로우

◈ 오버플로우 / 언더플로우

- 오버플로우 (overflow) : 타입 허용 최대값 벗어나는 것

- 언더플로우 (underflow) : 타입 허용 최솟값 벗어나는 것

- 자바에서 오버/언더플로우가 발생하면 해당 타입의 최대/최소값으로 되돌아감 (오류x)

 

[4] 산술 연산

◈ 정수 연산

- 정확한 산술 연산을 위해선 정수 연산을 하는 것이 좋음 

더보기
public class AccuracyExample{
	public static void main(String[] args){
    	int x = 1;
        double y = 0.1;
        
       	double result = x - 5*y; // result = 0.5 기대
        System.out.println(result); // 0.4999999999 가 출력됨
    }
}

[5] Nan, Infinity

◈ 나눗셈 연산의 예외

- ArithmeticException: x % 0 또는 x / 0 의 경우 발생하는 예외 ( int / 0 또는 int % 0 )

- Infinity: x / 0.0 또는 실수 / 0 

- NaN: x % 0.0 또는 실수 % 0  

 

◈ isInfinite(), isNan()

- boolean result = Double.isInfinite(x); : Infinity면 true, 아니면 false 반환

- boolean result = Double.isInfinite(x); : NaN이면 true, 아니면 false 반환

 

[6] 비교 연산자

◈ 비교 연산자

- 문자열을 비교할 때는 equals()!equals() 이용해야 함

- 타입이 다른 비교 연산은 연산 수행 전 자동으로 타입 일치됨 (float, double 제외)

'A' == 65 // true
3 == 3.0 // true
0.1f == 0.1 // false (부동 소수점 때문)

 

[7] 논리 연산자

◈ 논리 연산자

 

[8] 비트 논리 연산자

◈ 비트 논리 연산자

[9] 비트 이동 연산자

◈ 비트 이동(shift) 연산자

 

[10] 대입 연산자

◈ 대입 연산자 

[11] 삼항(조건) 연산자

◈ 삼항 연산자

- ? 앞의 조건식은 boolean 변수 또는 조건식이어야 함

[12] 연산의 방향과 우선순위

◈ 연산 방향 및 우선순위

'KB IT's Your Life > Java' 카테고리의 다른 글

Java [07] 상속  (1) 2025.04.22
Java [06] 클래스  (1) 2025.04.22
Java [05] 참조 타입  (3) 2025.04.22
Java [04] 조건문과 반복문  (1) 2025.04.21
Java [02] 변수  (1) 2025.04.21