2015. 4. 21. 19:49ㆍ프로그래밍/JAVA
- 목차
■ 연산자란?
- 연산자(operator)란 특정한 작업을 하기 위해서 사용하는 기호를 의미한다.
- 피연산자란, 연산자의 작업대상을 말한다.(변수, 상수, 수식, 리터럴)
■ 종류
단항연산자
+ |
부호연산자 |
|
- |
부호연산자 |
|
++ |
증가연산자 |
피연산자의 값을 1 증가 시킨다. |
-- |
감소연산자 |
피연산자의 값을 1 감소 시킨다. |
~ |
비트전환연산자 |
피연산자가 가지는 bit 값을 반전 시킨다. |
! |
부정연산자 |
boolean Type 피연산자의 값을 반전 시킨다. |
(데이터타입) |
형변환연산자 |
() 안에 데이터 타입으로 피연산자의 값을 변환 시킨다. |
ex) 전위형 - 피연산자의 값이 참조 되기 전에 피연사자의 값을 1 증가 시킨다.
int num1 = 1;
int num2 = 0;
num2 = ++num1;
(결과)
num1 : 2
num2 : 2
ex) 후위형 - 피연산자의 값을 먼저 참조 되는 곳에 넘겨 후 피연산자의 값을 1 증가 시킨다.
int num1 = 1;
int num2 = 0;
num2 = num1++;
(결과)
num1 : 2
num2 : 1
이항연산자
이항연산은 연산을 수행하기 이전에 연산자 양쪽에 있는 피연산자의 데이터타입을 일치 시킨 이후에 연산을 수행한다.
데이터타입을 일치 시킬 경우에 데이터를 표현할 수 있는 범위가 더 큰 데이터타입으로 자동으로 변환하게 된다.
단, int형 보다 표현범위가 작은 데이터타입은 int형으로 변환된다.
-산술연산자
boolean 타입을 제외한 7가지의 기본형 데이터타입만 사용
+ |
더하기연산자 |
연산자 양쪽에 있는 피연산자의 값을 더하여 준다. |
- |
빼기연산자 |
연산자 양쪽에 있는 피연산자의 값을 빼준다. |
* |
곱하기연산자 |
연산자 양쪽에 있는 피연산자의 값을 곱해 준다. |
/ |
나누기연산자 |
연산자 양쪽에 있는 피연산자의 값을 나누어 몫을 준다. |
% |
나머지연산자 |
연산자 양쪽에 있는 피연산자의 값을 나누어 나머지를 준다. |
ex)
'+' : 2 + 2 ==? 4
'-' : 2 - 2 ==> 0
'*' : 2 * 2 ==> 4
'/' : 9 / 2 ==> 4
'%' : 9 % 2 ==> 1
-결합연산자
두개의 피연산자중 반드시 하나 이상의 피연산자가 문자열이어야 한다
+ | 문자열 결합 연산자 | 피연산자 중 문자열이 아닌 피연산자는 문자열로 형변환하여 양쪽에 피연산자의 값을 연결하여 문자열로 반환한다 |
ex)
"10" + 1 ==> "101"
10 + 10 + "20" ==> "2020"
-대소비교연산자 & 등가비교연산자
대소비교연산자는 기본형 데이터타입 8가지 중 boolean 타입을 제외한 7가지 데이터타입에만 사용할 수 있다.
< | 대소비교연산자 | 연산자를 기준으로 좌측에 피연산자의 값이 작을 경우 true |
> | 연산자를 기준으로 좌측에 피연산자의 값이 큰 경우 true | |
<= | 연산자를 기준으로 좌측에 피연산자의 값이 작거나 같은 경우 true | |
>= | 연산자를 기준으로 좌측에 피연산자의 값이 크거나 같은 경우 true | |
== | 등가비교연산자 | 연산자를 기준으로 좌우에 피연산자의 값이 같은 경우 true |
!= | 연산자를 기준으로 좌우에 피연산자의 값이 같지 않은 경우 true | |
instanceof | instanceof 연산자 | 연산자를 기준으로 좌측에 피연산자(참조변수)가 우측 데이터타입으로 형 변환 가능하면 true |
ex)
if(10 < 11) ==> true
if(10 > 11) ==> false
if(10 <= 11) ==> true
if(10 >= 11) ==> true
if(10 == 11) ==> false
if(10 != 11) ==> true
ex) instanceof
class Parent {}
class Child extends Parent {}
Child c = new Child();
if(c instanceof Child){} ==> true
if(c instanceof Parent){} ==> true
if(c instanceof Object){} ==> true
-비트연산자
& | 비트곱연산 | 좌우측에 피연산자의 비트값을 곱셈연산한 결과를 반환한다 |
| | 비트합연산 | 좌우측에 피연산자의 비트값을 합한 결과를 반환한다 |
^ | 배타적비트합 | 좌우측에 피연산자의 비트값을 배타적 합한 결과를 반환한다 |
& 연산
| 연산
^ 연산
-논리연산자
연산자를 기준으로 좌우에 피연산자의 값을 boolean 데이터타입 형태의 값만 위치할 수 있다.
&& | 논리곱연산 | 좌우에 피연산자의 값이 모두 true 일 경우에 true반환 |
|| | 논리합연산 | 좌우에 피연산자의 값이 한쪽이라도 true 일 경우에 true반환 |
ex)
&& 연산
|| 연산
- 삼항연산자
수식 ? true : false | 삼항연산자 | 수식에 결과 값이 true이면 true 위치에 값을 반환, false이면 false위치 값을 반환 해준다 |
- 복합대입연산자
= | 단순 대입연산자 | 우측에 피연산자의 값을 좌측에 피연산자에 대입한다 |
+= | 복합 대입연산자 | 좌측에 피연산자의 값에 우측에 피연산자의 값을 더하여 좌측 피연산자에 대입한다 |
-= | 좌측에 피연산자의 값에 우측에 피연산자의 값을 빼서 좌측 피연산자에 대입한다 | |
*= | 좌측에 피연산자의 값을 우측에 피연산자의 값을 곱하여 좌측 피연산자에 대입한다 | |
/= | 좌측에 피연산자의 값에 우측에 피연산자의 값을 나눈 몫값을 좌측 피연산자에 대입한다 | |
%= | 좌측에 피연산자의 값에 우측에 피연산자의 값을 나눈 나머지값을 좌측 피연산자에 대입한다 | |
<<= | 좌측에 피연산자의 값을 우측에 피연산자의 값만큼 좌측으로 비트이동 후 좌측 피연산자에 대입한다 | |
>>= | 좌측에 피연산자의 값을 우측에 피연산자의 값만큼 우측으로 비트이동 후 좌측 피연산자에 대입한다 | |
&= | 좌측에 피연산자의 값과 우측에 피연산자의 값을 비트곱 연산한 결과값을 좌측 피연산자에 대입한다 | |
|= | 좌측에 피연산자의 값과 우측에 피연산자의 값을 비트합 연산한 결과값을 좌측 피연산자에 대입한다 | |
^= | 좌측에 피연산자의 값과 우측에 피연산자의 값을 배타적비트합 연산한 결과값을 좌측 피연산자에 대입한다 |
ex)
- //를 기준으로 우측에 식과 좌측에 식은 동일한 결과를 가진다.
a += b; // a = a + b;
a -= b; // a = a - b;
a *= b; // a = a * b;
a /= b; // a = a / b;
a %= b; // a = a % b;
a <<= b; // a = a << b;
a >>= b; // a = a >> b;
a &= b; // a = a & b;
a |= b; // a = a | b;
a ^= b; // a = a ^ b;
'프로그래밍 > JAVA' 카테고리의 다른 글
[정규표현식] java Regular Expression (0) | 2015.12.10 |
---|---|
Java 이전 버전 다운로드 URL (0) | 2015.09.10 |
[JAVA] 7. 배열 (0) | 2015.01.07 |
[JAVA] 6. 형변환(Casting) (0) | 2014.12.24 |
[JAVA] 5. 데이터타입이란? (0) | 2014.12.23 |