Java Operators
Java Operators: 자바 연산자 가이드
- *연산자(Operator)**는 변수나 값에 대한 연산을 수행하는 기호입니다. Java에서 연산자는 수학적 계산, 비교, 논리적 연산 등을 수행하는 데 사용되며, 프로그램의 동작을 제어하는 중요한 역할을 합니다.
Java에는 다양한 종류의 연산자가 있으며, 각 연산자는 특정한 기능을 수행합니다.
이 가이드는 Java에서 자주 사용하는 연산자들의 종류와 그 사용법을 설명합니다.
1. 산술 연산자 (Arithmetic Operators)
산술 연산자는 기본적인 수학 연산을 수행합니다.
연산자 | 설명 | 예시 |
---|---|---|
+ |
더하기 | a + b |
- |
빼기 | a - b |
* |
곱하기 | a * b |
/ |
나누기 | a / b |
% |
나머지 | a % b |
사용 예:
public class ArithmeticOperators {
public static void main(String[] args) {
int a = 10;
int b = 3;
System.out.println("더하기: " + (a + b)); // 13
System.out.println("빼기: " + (a - b)); // 7
System.out.println("곱하기: " + (a * b)); // 30
System.out.println("나누기: " + (a / b)); // 3
System.out.println("나머지: " + (a % b)); // 1
}
}
2. 할당 연산자 (Assignment Operators)
할당 연산자는 변수에 값을 할당할 때 사용됩니다. 기본 할당 연산자는 **=
**이며, 값을 변수에 할당하는 역할을 합니다. 또한 복합 할당
연산자를 사용하면 특정 연산 후 값을 다시 변수에 저장할 수 있습니다.
연산자 | 설명 | 예시 |
---|---|---|
= |
값 할당 | a = 5 |
+= |
더한 후 할당 | a += 3 (a = a + 3) |
-= |
뺀 후 할당 | a -= 3 (a = a - 3) |
*= |
곱한 후 할당 | a *= 3 (a = a * 3) |
/= |
나눈 후 할당 | a /= 3 (a = a / 3) |
%= |
나머지를 구한 후 할당 | a %= 3 (a = a % 3) |
사용 예:
public class AssignmentOperators {
public static void main(String[] args) {
int a = 10;
a += 5; // a = a + 5
System.out.println("a += 5: " + a); // 15
a *= 2; // a = a * 2
System.out.println("a *= 2: " + a); // 30
}
}
3. 비교 연산자 (Comparison Operators)
비교 연산자는 두 값을 비교하는 데 사용되며, 참(true) 또는 **거짓(false)**을 반환합니다.
연산자 | 설명 | 예시 |
---|---|---|
== |
값이 같으면 참 | a == b |
!= |
값이 다르면 참 | a != b |
> |
왼쪽 값이 크면 참 | a > b |
< |
왼쪽 값이 작으면 참 | a < b |
>= |
왼쪽 값이 크거나 같으면 참 | a >= b |
<= |
왼쪽 값이 작거나 같으면 참 | a <= b |
사용 예:
public class ComparisonOperators {
public static void main(String[] args) {
int a = 10;
int b = 5;
System.out.println("a == b: " + (a == b)); // false
System.out.println("a != b: " + (a != b)); // true
System.out.println("a > b: " + (a > b)); // true
System.out.println("a < b: " + (a < b)); // false
}
}
4. 논리 연산자 (Logical Operators)
논리 연산자는 **논리값(boolean)**을 사용하여 논리적 연산을 수행합니다. 주로 조건문에서 사용됩니다.
연산자 | 설명 | 예시 |
---|---|---|
&& |
논리 AND: 두 조건이 모두 참이면 참 | a && b |
` | ` | |
! |
논리 NOT: 조건의 반대값 | !a |
사용 예:
public class LogicalOperators {
public static void main(String[] args) {
boolean isAdult = true;
boolean hasLicense = false;
// 논리 AND: 두 조건이 모두 참이어야 함
System.out.println("isAdult && hasLicense: " + (isAdult && hasLicense)); // false
// 논리 OR: 하나의 조건만 참이면 됨
System.out.println("isAdult || hasLicense: " + (isAdult || hasLicense)); // true
// 논리 NOT: 조건의 반대
System.out.println("!isAdult: " + (!isAdult)); // false
}
}
5. 증감 연산자 (Increment and Decrement Operators)
증감 연산자는 변수의 값을 1씩 증가 또는 1씩 감소시키는 데 사용됩니다.
연산자 | 설명 | 예시 |
---|---|---|
++ |
1 증가 | a++ |
-- |
1 감소 | a-- |
- 전위 연산(
++a
,-a
)은 값을 먼저 증가 또는 감소시키고, 그 값을 반환합니다. - 후위 연산(
a++
,a--
)은 값을 먼저 반환하고, 그 후에 증가 또는 감소시킵니다.
사용 예:
public class IncrementDecrementOperators {
public static void main(String[] args) {
int a = 10;
// 후위 연산자
System.out.println("a++: " + a++); // 출력: 10, a는 이후 11로 증가
System.out.println("a: " + a); // 출력: 11
// 전위 연산자
System.out.println("++a: " + ++a); // 출력: 12
}
}
6. 조건부 연산자 (Ternary Operator)
조건부 연산자는 간단한 if-else
문을 표현하는 데 사용되며, 조건에 따라 다른 값을 반환합니다.
연산자 | 설명 | 예시 |
---|---|---|
? : |
조건이 참이면 첫 번째 값, 거짓이면 두 번째 값 | a ? b : c |
사용 예:
public class TernaryOperator {
public static void main(String[] args) {
int age = 18;
String result = (age >= 18) ? "성인" : "미성년자";
System.out.println(result); // 출력: 성인
}
}
7. 비트 연산자 (Bitwise Operators)
비트 연산자는 비트 단위로 연산을 수행합니다. 주로 고급 연산이나 하드웨어 제어에서 사용됩니다.
연산자 | 설명 | 예시 |
---|---|---|
& |
비트 AND | a & b |
` | ` | 비트 OR |
^ |
비트 XOR | a ^ b |
~ |
비트 NOT | ~a |
<< |
비트 왼쪽 시프트 | a << 2 |
>> |
비트 오른쪽 시프트 | a >> 2 |
사용 예:
public class BitwiseOperators {
public static void main(String[] args) {
int a = 5; // 0101
int b = 3; // 0011
System.out.println("a & b: " + (a & b)); // 출력: 1 (0001)
System.out.println("a | b: " + (a | b)); // 출력: 7 (0111)
System.out.println("a ^ b: " + (a ^ b)); // 출력: 6 (0110)
System.out.println("~a: " + (~a)); // 출력: -6
}
}
8. 연산자 우선순위
Java는 연산자 간의 우선순위에 따라 연산을 수행합니다. 우선순위가 높은 연산자가 먼저 계산됩니다. 괄호를 사용하여 우선순위를 명확하게 지정할 수 있습니다.
우선순위 | 연산자 |
---|---|
1 | ++ , -- , ~ , ! |
2 | * , / , % |
3 | + , - |
4 | << , >> , >>> |
5 | < , > , <= , >= |
6 | == , != |
7 | & |
8 | ^ |
9 | ` |
10 | && |
11 | ` |
12 | ? : |
13 | = , += , -= , *= , /= , %= |
요약
Java에서 연산자는 변수를 조작하거나 조건을 평가하는 중요한 역할을 합니다. 산술 연산자는 수학 연산을 수행하고, 할당
연산자는 값을 변수에 할당하며, 비교 연산자와 논리 연산자는 조건을 비교하여 참 또는 거짓을 반환합니다. 또한,
비트 연산자는 비트 단위의 연산을 가능하게 하고, 조건부 연산자는 간단한 if-else
표현식을 제공합니다. 각 연산자의
우선순위를 고려해 코드를 작성하는 것이 중요합니다.