Java 언어에서는 다양한 연산자들을 사용하여 값을 계산하고 조작할 수 있습니다. 이들 연산자들은 연산을 수행하기 위한 기호나 표시를 제공하며, 연산자의 연산 대상을 "피연산자"라고 부릅니다.
여기서는 Java의 주요 연산자들에 대해 알아보고, 각각 어떻게 사용되는지 예제 코드를 통해 살펴보겠습니다.
연산자의 우선순위
하나의 식에 둘 이상의 연산자가 있을 때, 연산의 우선순위가 결정됩니다. Java에서의 연산자 우선순위는 다음과 같습니다:
- 최우선 연산자
- 단항 연산자
- 산술 연산자
- 관계 연산자 (비교 연산자)
- 논리 연산자
- 삼항 연산자
- 대입 연산자
최우선 연산자
괄호()를 사용하는 연산이 최우선 연산자입니다. 괄호 내부의 연산이 우선적으로 수행됩니다.
int result = (2 + 3) * 4;
// result = 20
단항 연산자
단항 연산자는 한 개의 피연산자를 가지며, 부호를 바꾸는 등의 작업을 수행합니다.
int num = -10;
num = -num;
// num = 10
산술 연산자
산술 연산자는 기본적인 수학 연산을 수행합니다: 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/), 그리고 나머지(%).
int var1 = 10, var2 = 3;
int result = var1 + var2; // result = 13
result = var1 - var2; // result = 7
result = var1 * var2; // result = 30
result = var1 / var2; // result = 3
result = var1 % var2; // result = 1
관계 연산자 (비교 연산자)
관계 연산자는 두 값의 관계를 비교합니다: 크다(>), 작다(<), 크거나 같다(>=), 작거나 같다(<=), 같다(==), 같지 않다(!=).
int var1 = 10, var2 = 3;
boolean result = var1 > var2; // result = true
result = var1 < var2; // result = false
result = var1 == var2; // result = false
result = var1 != var2; // result = true
논리 연산자
논리 연산자는 두 개 이상의 조건식을 연결합니다: AND(&&), OR(||), XOR(^).
int var1 = 10, var2 = 3;
boolean result1 = var1 > var2; // true
boolean result2 = var1 <= var2; // false
boolean result3 = result1 && result2; //false
boolean result4 = result1 || result2; //true
boolean result5 = !result1; //false
삼항 연산자
삼항 연산자는 조건식 ? 값1 : 값2 형식을 가집니다. 조건식이 참이면 값1을, 거짓이면 값2를 반환합니다.
int var1 = 15;
char result = var1 == 10 ? 'o' : 'x';
// result = 'x'
대입 연산자(=)
대입 연산자는 변수에 값을 할당합니다. 연산자의 우선순위가 가장 낮으므로, 모든 연산이 끝난 후에 연산 결과를 저장합니다.
int x;
x = 10;
// x = 10
이상으로 Java의 주요 연산자들에 대해 알아보았습니다. 이 연산자들은 다양한 계산, 조건 판단, 변수 할당 등의 기능을 수행하는 데 사용됩니다.
결합성
Java의 연산자들은 대부분 왼쪽에서 오른쪽으로 연산을 수행하는 결합성을 가지고 있습니다. 즉, 한 문장 안에 우선순위가 같은 연산자가 여러 개 있을 때는 왼쪽에서 오른쪽으로 순서대로 연산이 이루어집니다.
예를 들어, 1 + 2 + 3 + 4 라는 식이 있을 때, Java는 이를 (1+2) + 3 + 4 처럼 계산합니다.
단, 예외적으로 대입 연산자와 단항 연산자는 오른쪽에서 왼쪽으로 연산을 수행합니다. 예를 들어, x = y = 5 라는 식이 있을 때, Java는 이를 x = (y = 5) 처럼 계산하며, 결과적으로 x와 y 모두 값이 5가 됩니다.
int x, y;
x = y = 5;
// x와 y 모두 이제 5입니다
이처럼 Java의 연산자들은 코드의 기능을 구현하는 데 필수적인 요소입니다. 각 연산자의 기능을 정확히 이해하고, 그 우선순위와 결합성을 알고 있으면 더 효과적인 코드를 작성할 수 있습니다.
'개발 > Java' 카테고리의 다른 글
Java 프로그래밍 기초: 입력(Scanner 클래스) (0) | 2023.07.12 |
---|---|
Java 프로그래밍 기초: 연산자(Operator) - 2 (0) | 2023.07.12 |
Java 프로그래밍 기초: 데이터 타입과 그 종류 (0) | 2023.07.11 |
Java 프로그래밍 기초: 변수(Variable) (0) | 2023.07.11 |
Java 시작하기: 기본 구조와 코드 작성 가이드 (0) | 2023.07.11 |