자바 연산자는 프로그래밍에서 변수, 상수 또는 리터럴 간의 다양한 계산 및 조작을 수행하는 데 사용되는 기호나 키워드입니다. 이 연산자들을 사용하여 데이터를 처리하고 조작함으로써 프로그램이 원하는 동작을 수행하도록 할 수 있습니다.
가장 기본적인 연산자로, 사칙연산에 사용됩니다. 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/) 등이 포함됩니다.
연산자 | 설명 |
---|---|
+ | 덧셈을 수행합니다. |
- | 뺄셈을 수행합니다. |
* | 곱셈을 수행합니다. |
/ | 나눗셈을 수행합니다. |
% | 나머지를 반환합니다. |
int a = 10;
int b = 5;
int sum = a + b; // 15
int difference = a - b; // 5
int product = a * b; // 50
int quotient = a / b; // 2
Java두 값을 비교하는 데 사용되며, 결과는 참(true) 또는 거짓(false)입니다.
연산자 | 설명 |
---|---|
== | 값이 같으면 true를 반환합니다. |
!= | 값이 다르면 true를 반환합니다. |
> | 왼쪽 값이 오른쪽 값보다 크면 true를 반환합니다. |
< | 왼쪽 값이 오른쪽 값보다 작으면 true를 반환합니다. |
>= | 왼쪽 값이 오른쪽 값보다 크거나 같으면 true를 반환합니다. |
<= | 왼쪽 값이 오른쪽 값보다 작거나 같으면 true를 반환합니다. |
int x = 5;
int y = 10;
boolean isEqual = (x == y); // false
boolean isNotEqual = (x != y); // true
boolean isGreater = (x > y); // false
boolean isLessOrEqual = (x <= y); // true
Java논리 연산에 사용되며, 주로 조건문과 반복문에서 조건을 결정하는 데 활용됩니다.
연산자 | 설명 |
---|---|
&& | 논리 AND를 수행하며, 두 조건이 모두 true이어야 true를 반환합니다. |
|| | 논리 OR을 수행하며, 두 조건 중 하나라도 true이면 true를 반환합니다. |
! | 논리 NOT을 수행하여 값을 반전시킵니다. |
boolean condition1 = true;
boolean condition2 = false;
boolean andResult = (condition1 && condition2); // false
boolean orResult = (condition1 || condition2); // true
boolean notResult = !condition1; // false
Java변수에 값을 할당하는 데 사용되며, 다양한 형태가 있습니다.
연산자 | 설명 |
---|---|
= | 오른쪽 값을 왼쪽에 대입합니다. |
+= | 왼쪽 값에 오른쪽 값을 더한 후 결과를 왼쪽에 대입합니다. |
-= | 왼쪽 값에서 오른쪽 값을 뺀 후 결과를 왼쪽에 대입합니다. |
*= | 왼쪽 값에 오른쪽 값을 곱한 후 결과를 왼쪽에 대입합니다. |
/= | 왼쪽 값을 오른쪽 값으로 나눈 후 결과를 왼쪽에 대입합니다. |
%= | 왼쪽 값을 오른쪽 값으로 나눈 나머지를 왼쪽에 대입합니다. |
int a = 10;
int b = 5;
a += b; // a는 15 (a = a + b 와 동일)
Java변수를 1씩 증가 또는 감소시키는 데 사용됩니다.
연산자 | 설명 |
---|---|
++ | 변수의 값을 1 증가시킵니다. |
— | 변수의 값을 1 감소시킵니다. |
int count = 0;
count++; // count는 1 증가
Java삼항 연산자는 조건부 연산자로 불리며, 간단한 조건문을 한 줄로 표현할 때 사용됩니다.
연산자 | 설명 |
---|---|
? : | 조건식 ? 참일 경우의 값 : 거짓일 경우의 값 |
여기서 조건식은 참 또는 거짓을 판단하는 표현식이며, 참일 경우의 값은 조건식이 참일 때 반환되는 값이고, 거짓일 경우의 값은 조건식이 거짓일 때 반환되는 값입니다.
int x = 10;
int y = 20;
int max = (x > y) ? x : y;
Java이 코드는 변수 max에 할당되는 값을 결정할 때 조건식 (x > y)를 평가합니다. 만약 조건식이 참이라면 max에는 x의 값이 할당되고, 조건식이 거짓이라면 max에는 y의 값이 할당됩니다.
연산자 우선순위를 높은 것에서 낮은 순으로 나열하겠습니다.
우선순위 | 종류 | 연산자 |
---|---|---|
1 | 괄호 | () |
2 | 단항 연산자 | ++ , — , ! , ~ , new , (type) |
3 | 산술 연산자 | * , / , % 우선, 그 다음에 + , – |
4 | Shift 연산자 | << , >> , >>> |
5 | 비교 연산자 | < , <= , > , >= , instanceof |
6 | 등식 연산자 | == , != |
7 | 비트 연산자 | & , ^ , | |
8 | 논리 연산자 | && , || |
9 | 삼항 연산자 | ? : |
10 | 대입 연산자 | = , += , -= , *= , /= , %= 등등 |
우선순위는 어떤 연산자가 다른 연산자보다 먼저 계산되어야 하는지를 결정하며, 이는 수식의 평가 순서를 제어합니다.
자바의 다양한 연산자들은 프로그래밍에서 변수 및 데이터를 조작하는 데 필수적입니다. 이러한 연산자들을 잘 이해하고 활용하면 보다 효율적인 코드를 작성할 수 있습니다. 항상 연산자의 우선순위와 사용법을 주의깊게 살펴보는 것이 중요하겠습니다.
컴포넌트 스캔이란? 컴포넌트 스캔(Component Scan)은 스프링 프레임워크가 특정 패키지를 탐색하면서, 스캔 대상에 해당하는 클래스를 찾아…
스프링 빈이란? 스프링 빈(Spring Bean)은 스프링 IoC(Inversion of Control) 컨테이너가 관리하는 자바 객체를 의미합니다. 간단히…
스프링 컨테이너(Spring Container)란? 스프링 컨테이너는 스프링 프레임워크에서 가장 핵심적인 부분으로, IoC(Inversion of Control) 개념을 기반으로…
Queue란 무엇인가? Java에서 Queue는 데이터 구조의 일종으로, 데이터를 선입선출(FIFO, First-In-First-Out) 방식으로 처리합니다. 이 글에서는 Queue의…
Stack이란 무엇인가? Java에서 Stack은 자료구조의 한 종류로, 데이터를 순서대로 쌓아 올리는 형태로 운영됩니다. 컴퓨터 과학에서…
소개 자바에서 Map 인터페이스는 키(Key)와 값(Value)의 쌍을 저장하는 자료구조입니다. 이는 연관 배열이라고도 불리며, 각 키는…