🔎 핵심 개념
- 연산자
- 연산의 우선순위
- 타입별 연산
🔧 연산자란?
연산자는 데이터를 조작하거나 처리하는 데 사용되는 기호입니다. Java에서 다양한 연산자를 제공하며, 각각의 역할과 사용법이 다릅니다.
1. 연산자의 종류
1) 사칙연산
- + (더하기)
- - (빼기)
- * (곱하기)
- / (나누기)
- % (나머지)
- 활용: 나머지 연산자는 홀수/짝수 판별 등에 자주 사용됩니다.
2) 증감 연산자
- 전위 연산자: 값의 앞에 연산자가 위치합니다.
예) ++값- 동작 방식: 값을 먼저 연산한 후 대입합니다.
- 주의: 계산 순서 혼동을 유발할 수 있어 보통 선호되지 않습니다.
- 후위 연산자: 값의 뒤에 연산자가 위치합니다.
예) 값++- 동작 방식: 값을 먼저 대입한 후 연산합니다.
3) 비교 연산자
- =: 값을 대입할 때 사용합니다.
- ==: 값이 같은지를 비교합니다.
- 문자열 비교 시에는 .equals(값) 메서드를 사용해야 정확한 비교가 가능합니다.
4) 논리 연산자
- && (AND): 두 조건이 모두 만족해야 true입니다.
예) 값1 && 값2 - || (OR): 두 조건 중 하나만 만족해도 true입니다.
- ! (NOT): 값을 부정합니다.
- 활용: != 연산자는 "같지 않음"을 표현할 때 사용합니다.
2. 타입별 연산
- 숫자형 연산: 숫자끼리 연산하면 일반적인 사칙연산 결과를 얻을 수 있습니다.
예) 1 + 2 = 3 - 문자열 연산: 문자열끼리 더할 경우 문자열이 연결됩니다.
예) "hello" + "java" = "hellojava"
3. 연산의 우선순위
Java의 연산자 우선순위는 다음과 같습니다.
- 괄호 () > 단항 연산자 > 산술 연산 > Shift 연산 > 비교 연산 > 등식 > 비트 연산 > 논리 연산 > 삼항 연산자 (? :) > 대입 연산
Tip: 괄호를 적극적으로 사용하면 우선순위를 명확하게 표현할 수 있습니다.
❗ 주의사항 & 에러 포인트
- 비교 연산자 주의: 원하는 결과를 얻기 위해 적절한 비교 연산자를 사용해야 합니다.
- 문자열 비교 주의: == 연산자는 문자열을 비교할 때 부정확할 수 있으므로, 반드시 .equals() 메서드를 사용하세요.
public class OperatorExample {
public static void main(String[] args) {
// 사칙연산 예제
int a = 10;
int b = 3;
System.out.println("더하기: " + (a + b)); // 13
System.out.println("나머지: " + (a % b)); // 1
// 증감 연산자 예제
int x = 5;
System.out.println("후위 연산: " + x++); // 출력: 5, x는 6으로 증가
System.out.println("전위 연산: " + ++x); // 출력: 7
// 비교 연산자 예제
System.out.println("같은 값인가? " + (a == b)); // false
// 논리 연산자 예제
boolean result = (a > b) && (b > 0);
System.out.println("논리 연산 결과: " + result); // true
}
}
정리
- 다양한 연산자를 이해하고 적절히 활용하는 것은 Java 프로그래밍의 기본입니다.
- 각 연산자의 특성과 우선순위를 정확히 숙지하여 코드 오류 방지와 구현에 활용해보세요!
'📚 학습 기록 > Java 기초 & 중급' 카테고리의 다른 글
📅 [25.02.20] 자바 중첩 클래스와 내부 클래스 정리 (1) | 2025.02.20 |
---|---|
🗓️ 학습 일자: 2025.02.08, 2025.02.18📘 코딩 테스트 프로그래머스 : 가까운 수, 숨어있는 숫자의 덧셈, 한번만 등장한 문자 (1) | 2025.02.18 |
📅 [25.02.16]Java – 입문 개념 정리 및 자기화 – 변수와 패키지 (1) | 2025.02.16 |
[Java 중급] 지역 클래스와 변수의 생명주기 완벽 정리 (1) | 2025.02.14 |
📅 [2025-02-13] 📚 [김영한의 자바 중급 -1 섹션 8 중첩 클래스, 내부 클래스 1 ] (1) | 2025.02.13 |