[Java Basic] 연산자

buckshot·2025년 5월 24일

JAVA

목록 보기
11/18

연산자와 연산식

연산자 종류

연산자 분류연산자피연산자 수산출값기능
산술+, -, *, /, %이항숫자사칙연산 및 나머지 계산
부호+, -단항숫자음수와 양수 부호
문자열+이항문자열두 문자열을 연결
대입=, +=, -=, *=, /=, %=이항다향우변의 값ㅇ르 좌변의 변수에 대입
증감++, —단항숫자1만큼 증가 및 감소
비교==, !=, >, <, >=, <=, instanceof이항boolean값의 비교
논리!, &, | ,&&, ||단항,
이항
boolean논리 부정, 논리곱, 논리합
조건(조건식) ? A : B삼항다양조건식에 따라 A 또는 B중 하나 산출

자바에서 사용되는 연산자는 위 표와 같이 존재를 한다. 그럼 표에서 피연산자의 수를 기준으로 해당 연산자들의 동작을 확인 하자.

단항 연산자

  • 부호 연산자 (+, -)
    해당 연산자는 boolean,char타입을 제외한 나머지 기본 타입에 사용이 가능하다. 해당 연산자는 양수및 음수를 표시한다.

    주의점으로는 연산자의 결과가 int타입이라는 것이다. 예를 들어서 byte타입의 변수를 부호 연산을 하면 int타입으로 변환다는 것이다.

  • 증감 연산자 (++, —)
    부호 연산자와 비슷하게 boolean,char을 제외한 나머지 기본 타입의 피연산자에서 사용이 가능하다.

    (증감식)(피연산자) or (피연산자)(증감식) 
    ex) ++i, i-- 

    증감 연산자는 피연산자를 기준으로 앞이나 뒤에 위치할 수 있다. 증감 연산자가 앞에 올 경우 해당 변수를 사용하기 전 증감 계산을 진행 후 변수 사용을 하고, 피연산자 뒤에 올 경우 변수를 사용한 뒤 즘감식을 진행한다.

  • 논리 부정 연산자( ! )
    논리 부정 연산자는 boolean타입의 사용이 가능하며 해당 기능은 논리 타입의 값을 반전시킨다.

이항 연산자

  • 산술 연산자
    산술 연산자는 논리 타입을 제외한 나머지 기본 타입에서 사용이 가능하다.

    산순 연산자의 특징으로는 피연산들의 타입이 동일하지 않을 경우 아래와 같은 규칙으로 피연사자의 타입을 일치시킨 후 연산을 수행한다는 점이 있다.

    • 피연산자들이 byte, short, char타입일 경우 모두 int타입으로 변환된 후 연산을 수행한다.
    • 피연산자들이 모두 정수 타입이고 long타입이 포함되어 있을 경우, 모두 long타입으로 변환된 후 연산을 진행한다.
    • 피연산자 중 실수 타입 float, double이 있을 경우, 허용 범위가 큰 실수 타입으로 변환하여 연산을 수행한다.
  • 문자열 결합 연산자
    해당 연산자는 +를 사용하여 문자열을 서로 결합한다. 피연산자 중 하나가 문자열일 경우 해당 해당 부분은 문자열 결합으로 동작하여 문자열을 반환하게 된다.

  • 비교 연산자
    비교 연산은 피연산자의 대소관계 등을 통해서 참인지 거짓인지를 판별하여 논리 타입의 값을 반환하는 동작을 한다. 그렇기 때문에 조건문이나 반복문에서 주로 사용되어 실행 흐름을 제어하게 만들어 준다.

  • 논리 연산자
    논리 연산에서는 피연산자가 boolean타입만 사용할 수 있다.

    • AND (논리곱) : 피연산자 모두 true일 경우 연산의 결과가 true
    • OR (논리합) : 피연산자 중 하나만 ture일 경우 결과는 true
    • XOR (배타적 논리합) : 피연산자 중 하나는 true이고 다른 하나는 false일 경우 결과는 true
    • NOT (논리 부정) : 피연산자의 논리 값을 반전 시킨다
구분피연산자연산자피연산자결과
AND
(논리곱)
ture&& or &truetrue
true&& or &falsefalse
false&& or &truefalse
false&& or &falsefalse
OR
(논리합)
true|| or |truetrue
true|| or |falsetrue
false|| or |truetrue
false|| or |falsefalse
XOR
(배타적 논리합)
true^truefalse
true^falsetrue
false^truetrue
false^falsefalse
NOT
(논리 부정)
!truefalse
!falsetrue
  • 대입 연산자
    대입 연산자는 오른쪽 피연산자의 값을 왼쪽 피연산자인 변수에 저장을 한다. 오른쪽 피연산자에는 리터럴 및 변수, 다른 연산식이 올 수 있다.
    단순하게 오른쪽 피연산자의 값을 변수에 저장하는 단순 대입 연산자가 있거, 정해진 연산을 수행한 후 결과를 변수에 저장하는 복합 대입 연산자도 있다.
구분연산자설명
단순 대입 연산자=오른쪽 피연산자의 값을 왼쪽 피연산자에 저장
복합 대입 연산자+=
(-=, *= ,…)
변수 = 변수 + 피연산자와 동일
(+, -, *, …)
&=
(&=, |=, ^=)
변수 = 변수 & 피연산자와 동일
(&=, |=, ^=)

삼항 연산자

삼항 연산자(?:)는 3개의 피연산자를 필요하다. 삼항 연산자는 ? 앞에 위치하는 조건식의 결과에 따라 콜론을 기준으로 앞과 뒤의 피연산자가 결정된다.

//					조건식 ? ①(값 또는 연산식) : ②(값 또는 연산식)
//		조건식이 참일 경우 : ①이 선택되어 반환
//		조건식이 거짓일 경우 : ②가 선택되어 반환

// Ex) 
	int x = 99;
	String result = x >= 80 ? "초과" : "미만"; // result = "초과"
profile
let's go insane

0개의 댓글