개발공부/JAVA

JAVA 연산자의 종류

SA-WOL 2022. 3. 28. 17:57
반응형

JAVA에서 연산자 (Operator) 란?

연산자는 하나, 둘 또는 세 개등의 피연산자에 대해 특정 연산을 수행 한 다음 결과를 반환하는 특수 기호입니다.

 

。연산자 : 어떠한 기능을 수행하는 기호

。피연산자 : 연산자의 작업 대상

 

 

 

연산자의 종류

형변환, 산술, 비교, 논리, 비트, 대입, 조건삼항 .. 

 

 

■ 형변환 연산자 

한 번 선언된 데이터 타입을 다른 데이터 타입으로 변환하고자 할 때 사용하는 연산자 입니다.

 

。종류

· 자동 형변환

  - 형변환 연산자의 생략이 가능합니다.

  - 자료형의 크기가 큰 것에서 작은 것으로 자료형을 변환하려고 하는 것을 말합니다.

 

· 명시적 형변환

  - 형변환 연산자의 생략이 불가능 합니다.

  - 자료형의 크기가 작은 것에서 큰 것으로 자료형을 변환하려고 하는 것을 말합니다.

 

。사용방법

//자동 형변환
byte a = 10;
int i = a 

//명시적 형변환
int i = 10;
bate a = (byte) i;

 

 

■ 산술 연산자

단항연산(증가, 감소 연산), 이항연산(사칙 연산, 나머지 연산)이 속하며 정수나 실수의 결과를 반환합니다.

 

。종류

· 단항연산 (++, --)

· 이항연산 (+, -, *,/,%)

 

。사용방법

· 단항연산 (++, --)

1) 증가연산자(++) : 피연산자의 값을 1 증가시킵니다.

int i = 10;
int j = 0;

//전위형
j = ++i;  // 값이 참조되기 전에 1 증가

//후위형
j = i++;  // 값이 참조된 후에 1 증가

 

2) 감소연산자(--) : 피연산자의 값을 1 감소시킵니다.

int i = 10;
int j = 0;

//전위형
j = --i;  // 값이 참조되기 전에 1 감소

//후위형
j = i--;  // 값이 참조된 후에 1 감소

 

· 이항연산 (+, -, *,/,%)

int rst = 0;
int i = 100;
int j = 2;

// + : 덧셈의 결과
rst = i + j //결과값 : 102

// - : 뺄셈의 결과
rst = i - j //결과값 : 98

// * : 곱셈의 결과
rst = i * j //결과값 : 200

// / : 나눗셈의 결과
rst = i / j //결과값 : 50

// % : 정수의 몫을 취한 후 나머지값의 결과
rst = i % j //결과값 : 0

 

 

■ 비교 연산자 

피연산자의 크기 비교나 객체의 타입 비교등에 사용되고, 결과를 true/false에 해당되는 boolean 데이터 타입으로 반환합니다.

 

。종류 

>, >=, <, <=, ==, !=, instanceof

 

。사용방법

int i = A;
int j = B;

// 연산자 [>]
System.out.println(i > j); // i가 j보다 큰 경우 true를 반환

// 연산자 [>=]
System.out.println(i >= j); // i가 j보다 크거나 같은 경우 true를 반환

// 연산자 [<]
System.out.println(i < j); // i가 j보다 작은 경우 true를 반환

// 연산자 [<=]
System.out.println(i <= j); // i가 j보다 작거나 같은 경우 true를 반환

// 연산자 [==]
System.out.println(i == j); // i와 j가 같은 경우 true를 반환

// 연산자 [!=]
System.out.println(i != j); // i와 j가 같지 않은 경우 true를 반환
// 연산자 [instanceof]
// 객체가 어떤 클래스인지, 어떤 클래스를 상속받았는지 확인하는데 사용하는 연산자

ArrayList list = new ArrayList();

// list가 Object 데이터형의 객체인 경우 true를 반환
System.out.println(list instanceof Object);

 

 

■ 논리 연산자

피연산사 모두 boolean 데이터 타입인 경우에 사용 가능하며 결과값도 boolean 입니다.

 

。종류

&& : and 연산을 실행

|| : or 연산을 실행 

! : not 연산을 실행

 

。사용방법

boolean a = true;
boolean b = true;

// 연산자 [&&]
// a, b 모두 true 인 경우 true를 반환
// 둘 중 하나라도 false 인 경우 false를 반환
System.out.println(a && b); 

// 연산자 [||]
// a나 b 둘 중 하나라도 true 인 경우 true를 반환
System.out.println(a && b); 

// 연산자 [!]
System.out.println(!a); //a가 true이면 false를, false이면 true를 반환

 

 

■ 비트 연산자 

피연산자를 비트단위로 연산합니다.

실수형(float, double)을 제외한 모든 기본형에 사용이 가능합니다.

 

。종류

& : 피연산자 양 쪽이 모두 1이면 1

| : 피연산자 중 어느 한쪽이 1이면 1

^ : 피연산자가 서로 다를때 1

~ : 피연산자의 값을 반전(보수)시켜주어 표현

 

。사용방법

// 15를 비트로 표현 시 00001111
// 25를 비트로 표현 시 00011001

// 연산자 [&]
System.out.println(15 & 25); //00001001 결과값 : 9

// 연산자 [|]
System.out.println(15 | 25); //00011111 결과값 : 31

// 연산자 [^]
System.out.println(15 ^ 25); //00010110 결과값 : 22

// 연산자 [~]
System.out.println(~25); //11100110 결과값 : -26

 

 

■ 대입 연산자 

대입 연산자를 기준으로 오른쪽에 있는 값을 왼쪽에 대입하는데 사용합니다.

 

。종류

=     : 오른쪽의 피연산자를 왼쪽의 피연산자에 대입 
+=   : 왼쪽의 피연산자에 오른쪽의 피연산자를 더한 후, 그 결과를 왼쪽의 피연산자에 대입
-=    : 왼쪽의 피연산자에서 오른쪽의 피연산자를 뺀 후, 그 결과를 왼쪽의 피연산자에 대입
*=    : 왼쪽의 피연산자에 오른쪽의 피연산자를 곱한 후, 그 결과를 왼쪽의 피연산자에 대입
/=    : 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 결과를 왼쪽의 피연산자에 대입
%=   : 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 나머지를 왼쪽의 피연산자에 대입

 

。사용방법

int i = 10
i += 5; 
System.out.printLn(i); // 결과값 : 15

int i = 10
i -= 5; 
System.out.printLn(i); // 결과값 : 5

int i = 10
i *= 5; 
System.out.printLn(i); // 결과값 : 50

int i = 10
i /= 5; 
System.out.printLn(i); // 결과값 : 2

int i = 10
i %= 3; 
System.out.printLn(i); // 결과값 : 11

 

 

■ 조건 삼항 연산자 

조건식의 연산결과가 true이면 '값1'의 결과를 반환, false이면 '값2'의 결과를 반환합니다.

 

。종류

 ( 조건식 ) ? 값1 : 값2 

 

 · 조건식 : boolean 결과를 반환

 · 값1 : 조건식의 결과가 true일 경우 반환되는 값

 · 값2 : 조건식의 결과가 false일 경우 반환되는 값

 

。사용방법

int i = 50;
String a = "";

a = ( (i >= 0 && i <= 100) ? "적합" : "부적합" );
System.out.printLn(a); // 결과값 : 적합

 

반응형