본문 바로가기
개발/자바

자바 연산자(산술, 대입, 증감, 비교, 논리, 삼항, instanceof)

by wusdlqslek 2022. 9. 14.

(1) 산술 연산자

산술 연산자 설명
+ 왼쪽의 피연산자에 오른쪽의 피연산자를 더함.
- 왼쪽의 피연산자에서 오른쪽의 피연산자를 뺌.
* 왼쪽의 피연산자에 오른쪽의 피연산자를 곱함.
/ 왼쪽의 피연산자를 오른쪽의 피연산자로 나눔.
% 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 나머지를 반환함.

(2) 대입 연산자

대입 연산자 설명
= 왼쪽의 피연산자에 오른쪽의 피연산자를 대입함.
+= 왼쪽의 피연산자에 오른쪽의 피연산자를 더한 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
-= 왼쪽의 피연산자에서 오른쪽의 피연산자를 뺀 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
*= 왼쪽의 피연산자에 오른쪽의 피연산자를 곱한 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
/= 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
%= 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 나머지를 왼쪽의 피연산자에 대입함.
&= 왼쪽의 피연산자를 오른쪽의 피연산자와 비트 AND 연산한 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
|= 왼쪽의 피연산자를 오른쪽의 피연산자와 비트 OR 연산한 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
^= 왼쪽의 피연산자를 오른쪽의 피연산자와 비트 XOR 연산한 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
<<= 왼쪽의 피연산자를 오른쪽의 피연산자만큼 왼쪽 시프트한 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
>>= 왼쪽의 피연산자를 오른쪽의 피연산자만큼 부호를 유지하며 오른쪽 시프트한 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
>>>= 왼쪽의 피연산자를 오른쪽의 피연산자만큼 부호에 상관없이 오른쪽 시프트한 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
비트 연산은 추후에 좀 더 공부를 하고 정리 계획

 

(3) 증감 연산자

증감 연산자 설명
++변수 먼저 피연산자의 값을 1 증가시킨 후에 해당 연산을 진행함.
변수++ 먼저 해당 연산을 수행하고 나서, 피연산자의 값을 1 증가시킴.
--변수 먼저 피연산자의 값을 1 감소시킨 후에 해당 연산을 진행함.
변수-- 먼저 해당 연산을 수행하고 나서, 피연산자의 값을 1 감소시킴.
연산자의 위치에 따라 결과 값이 달라질 수 있으므로 주의해서 사용해야 한다.

(4) 비교 연산자

비교 연산자 설명
== 왼쪽의 피연산자와 오른쪽의 피연산자가 같으면 참을 반환함.
!= 왼쪽의 피연산자와 오른쪽의 피연산자가 같지 않으면 참을 반환함.
> 왼쪽의 피연산자가 오른쪽의 피연산자보다 크면 참을 반환함.
>= 왼쪽의 피연산자가 오른쪽의 피연산자보다 크거나 같으면 참을 반환함.
< 왼쪽의 피연산자가 오른쪽의 피연산자보다 작으면 참을 반환함.
<= 왼쪽의 피연산자가 오른쪽의 피연산자보다 작거나 같으면 참을 반환함.

(5) 논리 연산자

논리 연산자 설명
&& 논리식이 모두 참이면 참을 반환함. (논리 AND 연산)
|| 논리식 중에서 하나라도 참이면 참을 반환함. (논리 OR 연산)
! 논리식의 결과가 참이면 거짓을, 거짓이면 참을 반환함. (논리 NOT 연산)
A B A && B A || B !A
true true true true false
true false false true false
false true false true true
false false false false true

(6) 삼항 연산자 - 물음표 앞의 조건식에 따라 결과값이 참이면 반환값1을 리턴, 거짓이면 반환값2를 리턴한다.

int num1 = 5;
int num2 = 999;
String result = "";

result = num1 > num2 ? "반환값1" : "반환값2";

System.out.println(result); 
//num1의 값이 num2의 값보다 크지 않으므로 result 변수에는 "반환값2"라는 값이 저장된다.

String isTrue = "참입니다";
String isFalse = "거짓입니다";
result = num1 > num2 ? isTrue : isFalse;

System.out.println(result); //당연하지만 반환값 자리에 변수로 넣어도 된다.

(7) instanceof 연산자 - 해당 객체가 어떤 클래스나 인터페이스로부터 생성되었는지 판별하는 역할.

/*
	왼쪽 피연산자인 객체가 오른쪽 피연산자인 클래스나, 인터페이스로부터
	생성된 경우 true, 그렇지 않은 경우에는 false를 반환한다.
*/
class A {}
class B extends A {}
public static void main(String[] args) {
    A a = new A();
    B b = new B();
    System.out.println(a instanceof A); // true
    System.out.println(b instanceof A); // true
    System.out.println(a instanceof B); // false
    System.out.println(b instanceof B); // true
}

 

반응형

'개발 > 자바' 카테고리의 다른 글

자바 - 반복문  (0) 2022.09.20
자바 조건문(if, 삼항 연산자, switch)  (0) 2022.09.19
자바 타입 변환  (0) 2022.09.13
기본 타입  (0) 2022.09.07
자바의 상수  (0) 2022.09.05

댓글