연산자
종류
연산자
피연산자 수
산출값
기능설명
산술
+
,-
,*
,/
,%
이항
숫자
사칙연산 및 나머지 계산
부호
+
,-
단항
숫자
음수, 양수의 부호
문자열
+
이항
문자열
두 문자열을 연결
대입
=
,+=
,-=
,*=
,/=
,%=
,&=
,^=
,<<=
,>>=
,>>>=
이항
다양
우변의 값을 좌변의 변수에 대입
증감
++
,--
단항
숫자
1만큼 증가/감소
비교
==
,!=
,>
,<
,>=
,<=
,instanceof
이항
boolean
값의 비교
논리
!
,│
,&
,&&
,││
단항,이항
boolean
논리적 NOT, OR, AND연산
조건
(조건식)?A:B
삼항
다양
조건식에 따라 A 또는 B 중 하나 선택
비트
~
,&
,│
,^
단항, 이항
숫자, boolean
비트 NOT, OR, AND, XOR
쉬프트
>>
,<<
,>>>
이항
숫자
비트를 좌측/우측으로 밀어서 이동
연산자
방향
증감(++
,--
),부호(+
,-
),비트(~
),논리(!
)
←
산술(*
,/
,%
)
→
산술(+
,-
)
→
쉬프트(>>
,<<
,>>>
)
→
비교(>
,<
,>=
,<=
,instanceof
)
→
비교(==
,!=
)
→
논리(&
)
→
논리(^
)
→
논리(│
)
→
논리(&&
)
→
논리(││
)
→
조건(?:
)
→
대입(=
,+=
,-=
,*=
,/=
,%=
,&=
,^=
,<<=
,>>=
,>>>=
)
←
1. 단항, 이항, 삼항 연산자 순으로 우선순위를 가진다.
2. 산술, 비교, 논리, 대입 연산자 순으로 우선순위를 가진다.
3. 단항과 대입 연산자를 제외한 모든 연산의 방향은 왼쪽에서 오른쪽이다.
4. 복잡한 연산식에는 괄호()를 사용해서 우선순위를 정해준다.
-- 비트반전연산자, 부호연산자는 int
타입이 된다. --
String BinaryString = Integer.toBinaryString(10); // 정수 값을 32비트 이진 문자열로 반환
산술 연산시에 오버플로우가 발생하지 않도록 주의해아한다.
나눗셈(/)과 나머지(%)연산에서 우측 피연산자는 0을 사용할 수 없다.(ArithmeticException 예외 발생)
하지만 0.0 or 0.0f으로 계산할 경우에는
나눗셈(/) 연산은 Infinity(무한대) 결과 값
나머지(%) 연산은 NaN(Not a Number) 결과 값을 가진다.
Double.isInfinite(); // 결과 값이 Infinite인지 확인
Double.isNaN(); // 결과 값이 NaN인지 확인
NaN은 != 연산자를 제외한 모든 비교 연산자를 사용할 경우 false값을 반환한다.
그러므로 반드시 Double.isNaN() 메소드를 사용해야한다.
String 객체의 문자열만을 비교하고 싶다면 ==
대신에 equals()
메소드를 사용해야햔다.
boolean result = str1.equals(str2);
Last updated
Was this helpful?