연산자
종류
연산자
피연산자 수
산출값
기능설명
산술
+,-,*,/,%
이항
숫자
사칙연산 및 나머지 계산
부호
+,-
단항
숫자
음수, 양수의 부호
문자열
+
이항
문자열
두 문자열을 연결
대입
=,+=,-=,*=,/=,%=,&=,^=,<<=,>>=,>>>=
이항
다양
우변의 값을 좌변의 변수에 대입
증감
++,--
단항
숫자
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?