본문 바로가기
Java/Java Course

Java 연산자 완벽 정리

by 코딩 참 쉽죠잉 2026. 7. 13.
연산자 완벽 정리 - Java 기초 강좌 3강 | jamesdreaming
Java 강좌 · 3 / 30

연산자

매일 한 챕터씩 배우는 Java 기초 시리즈

+ × ÷ % == && 연산자 Chapter 03 · Java 기초부터 심화까지

1. 산술 연산자

숫자를 계산하는 데 사용하는 가장 기본적인 연산자입니다. Java의 산술 연산자는 우리가 수학 시간에 배운 것과 거의 동일하게 동작하지만, 정수 나눗셈처럼 Java만의 특성도 있습니다.

연산자 의미 예시 결과
+ 덧셈 5 + 2 7
- 뺄셈 5 - 2 3
* 곱셈 5 * 2 10
/ 나눗셈 5 / 2 2 (정수)
% 나머지 5 % 2 1
int a = 5, b = 2;
System.out.println(a / b);          // 2  — 정수끼리 나누면 소수점이 버려짐
System.out.println((double) a / b); // 2.5 — 형변환 후 실수 나눗셈
System.out.println(a % b);          // 1  — 나머지
⚠️ int / int는 항상 정수 결과입니다. 소수점이 필요하면 피연산자 중 하나 이상을 double로 형변환하세요.

2. 증감 연산자 (++, --)

변수의 값을 1씩 증가시키거나 감소시킬 때 사용합니다. 전위(prefix)후위(postfix) 위치에 따라 연산 시점이 달라집니다.

int x = 5;
System.out.println(x++); // 5 출력 후 x는 6이 됨 (후위: 먼저 사용, 나중에 증가)
System.out.println(++x); // x를 먼저 7로 증가시킨 후 7 출력 (전위: 먼저 증가, 나중에 사용)

int y = 10;
int result = y++ + ++y; // 10 + 12 = 22, y는 최종 12
💡 헷갈릴 때는 한 줄에 하나의 증감 연산만 사용하는 것이 안전하고 가독성도 좋습니다.

3. 비교 연산자

두 값을 비교해 boolean(true/false) 결과를 반환합니다. 조건문, 반복문에서 필수로 사용됩니다.

연산자 의미 예시
== 같다 a == b
!= 다르다 a != b
> 크다 a > b
< 작다 a < b
>= 크거나 같다 a >= b
<= 작거나 같다 a <= b
String s1 = "hello";
String s2 = "hello";
String s3 = new String("hello");

System.out.println(s1 == s2);       // true  (문자열 리터럴은 같은 객체 재사용)
System.out.println(s1 == s3);       // false (new로 만든 객체는 별개 주소)
System.out.println(s1.equals(s3));  // true  (내용 비교는 equals 사용)
⚠️ 참조형(특히 String)의 내용을 비교할 때는 == 대신 반드시 .equals()를 사용하세요. ==는 주소(참조) 비교입니다.

4. 논리 연산자

여러 조건을 조합할 때 사용합니다. Java는 단축 평가(short-circuit evaluation)를 지원합니다.

연산자 의미 설명
&& AND 둘 다 true여야 true, 왼쪽이 false면 오른쪽 평가 안 함
|| OR 하나만 true여도 true, 왼쪽이 true면 오른쪽 평가 안 함
! NOT true/false를 반전
int age = 20;
boolean hasTicket = false;

if (age >= 18 && hasTicket) {
    System.out.println("입장 가능");
} else {
    System.out.println("입장 불가"); // 출력됨
}

// 단축 평가 예시: 왼쪽이 false이므로 checkTicket()은 호출되지 않음
if (age < 18 && checkTicket()) { ... }
💡 단축 평가 덕분에 obj != null && obj.isValid() 같은 코드에서 NullPointerException을 안전하게 피할 수 있습니다.

5. 대입 연산자

값을 변수에 저장하는 연산자로, 산술 연산과 결합된 축약형도 자주 사용됩니다.

int x = 10;
x += 5;  // x = x + 5;  → 15
x -= 3;  // x = x - 3;  → 12
x *= 2;  // x = x * 2;  → 24
x /= 4;  // x = x / 4;  → 6
x %= 4;  // x = x % 4;  → 2

6. 삼항 연산자 (조건 연산자)

간단한 if-else를 한 줄로 표현할 수 있는 유일한 삼항(피연산자 3개) 연산자입니다.

조건 ? 참일_때_값 : 거짓일_때_값

int score = 85;
String grade = (score >= 90) ? "A" : (score >= 80) ? "B" : "C";
System.out.println(grade); // B
💡 간단한 조건에는 유용하지만, 너무 여러 개를 중첩하면 가독성이 떨어지므로 주의하세요.

7. 연산자 우선순위

한 식에 여러 연산자가 섞이면 우선순위에 따라 계산 순서가 정해집니다. 대표적인 순서는 다음과 같습니다 (높은 순).

  1. 증감 연산자 ++ --
  2. 산술 연산자 * / %+ -
  3. 비교 연산자 < > <= >=== !=
  4. 논리 연산자 &&||
  5. 대입 연산자 = += -= ...
int result = 2 + 3 * 4;      // 14, 곱셈이 먼저
int check = 2 + 3 > 4 && 1 == 1; // (2+3 > 4) && (1==1) → true
⚠️ 우선순위를 외우기보다 괄호 ()를 적극 사용해 의도를 명확히 하는 습관을 들이세요.

8. 자주 하는 실수

  • === 혼동: if (a = 5)는 대입이지 비교가 아닙니다 (boolean 타입이면 컴파일 오류로 잡힘).
  • String 비교에 == 사용: 항상 .equals()를 사용하세요.
  • 정수 오버플로우: int 연산 결과가 범위를 넘으면 예상치 못한 값이 나옵니다.
  • 증감 연산자 중복 사용: y++ + ++y처럼 한 줄에 여러 번 쓰면 가독성이 떨어지고 실수하기 쉽습니다.

오늘의 정리

산술·증감·비교·논리·대입·삼항 연산자와 연산자 우선순위까지 Java의 모든 기본 연산자를 살펴봤습니다. 다음 챕터에서는 이 연산자들을 활용해 프로그램의 흐름을 제어하는 조건문(if, switch)을 배웁니다.

Java 학습 블로그 · Chapter 3 of 30
반응형