본문 바로가기
LV0_Setup/JAVA 세팅

[#5] JAVA - 연산자와 형변환

by 하타라시 2026. 2. 26.

1. 연산자(Operator)

1-1. 산술 연산자

  • +, -, *, /, %
int a = 10;
int b = 2;

1-2. 증감 연산자

1-2-1. 전위 연산자

  • ++a, --a
public class Main {
    public static void main(String[] args) {
        int a = 5;
        int b = ++a;

        System.out.println("a = " + a);
        System.out.println("b = " + b);
    }
}

a = 6

b = 6

1-2-2. 후위 연산자

  • a++, a--
public class Main {
    public static void main(String[] args) {
        int a = 5;
        int b = a++;

        System.out.println("a = " + a);
        System.out.println("b = " + b);
    }
}

a = 6

b = 5

1-2-3. 헷갈리는 문제

public class Main {
    public static void main(String[] args) {
        int a = 3;
        int b = ++a + a++;

        System.out.println("a = " + a);
        System.out.println("b = " + b);
    }
}

a = 5

b = 8

1-3. 기타 연산자

1-3-1. 비교 연산자

연산자 설명

== 두 값이 같으면 true
!= 두 값이 다르면 true
> 왼쪽 값이 오른쪽 값보다 크면 true
< 왼쪽 값이 오른쪽 값보다 작으면 true
왼쪽 값이 오른쪽 값보다 크거나 같으면 true
왼쪽 값이 오른쪽 값보다 작거나 같으면 true

1-3-2. 논리 연산자

연산자 설명

&& AND – 양쪽이 모두 true일 때 true
|| OR – 양쪽 중 하나라도 true일 때 true
! NOT – true ↔ false 반전

1-3-3. 비트 연산자

연산자 설명

& AND – 각 비트가 모두 1이면 1
| OR – 각 비트 중 하나라도 1이면 1
^ XOR – 각 비트가 서로 다르면 1
~ NOT – 각 비트를 반전

1-3-4. 시프트 연산자

연산자 설명

<< n 왼쪽으로 n비트 이동
>> n 오른쪽으로 n비트 이동 (부호 비트 유지)
>>> n 오른쪽으로 n비트 이동 (부호 비트 무시)

2. 형변환

2-1. 이항 연산자의 특징

  • 연산 시 피연산자와 타입이 다르면 자동으로 형변환이 일어납니다.
  • 큰 타입과 작은 타입이 있으면 작은 타입을 큰 타입으로 변환합니다.
  • 연산 결과는 큰 타입이 나오게 됩니다.
byte a = 10;
int b = 20;

int c = a + b; // a는 자동으로 int로 변환

2-2. 문자열과 숫자의 연산

  • 숫자와 문자열이 연산되면, 숫자는 문자열로 변환됩니다.
int a = 10;
String s = "개";

String result = a + s; 
System.out.println(result); // "10개"

2-2-1. 문자열과 숫자 연산 심화

int a = 10;
int b = 20;
String s = "개";

System.out.println(a + b + s); // "30개"
System.out.println(s + a + b); // "개1020"

⇒ 연산 순서에 따라 결과가 다르게 나옵니다.

3. 복합 대입 연산자

// 연산자 축약
// + 연산
a = a + 10;
a += 10; 

// * 연산
a = a * 2;
a *= 2;

나누기 있는데, 10 나누기 0을 하면 어떻게 되요?

  • 10 / 0은 값이 나올 수 없습니다.

⇒ 그러므로 ArithmeticException 예외가 발생하게 됩니다.

💡

Keyword (추후 notion페이지로 연결할 예정입니다.)

  • 산술 연산자
  • 증감 연산자
  • 비교 연산자
  • 논리 연산자
  • 시프트 연산자
  • 복합 대입 연산자
  • 연산자 우선순위

'LV0_Setup > JAVA 세팅' 카테고리의 다른 글

[#2] JAVA - IntellinJ 설치하기  (0) 2026.02.23
[#1] JAVA - JDK와 Eclipse 설치하기  (0) 2026.02.20