[JAVA] 연산자 (Operator)

선형채·2022년 6월 9일
1

JAVA

목록 보기
1/13
post-thumbnail

연산자 란?

  • 프로그램에서 데이터를 처리하여 결과를 산출하는 것을 연산이라고 한다 !

  • 연산에 사용되는 표시나 기호를 연산자라고 한다 !

  • 연산되는 데이터는 피연산자라고 한다 ! ex) + , - , * , / , %

연산자의 종류

증감 연산자

  • 증감연산자는 피연산자의 값을 1씩 증가 또는 감소시키는 연산자이다. 증감 연산자가 변수 앞에 위치하느냐 변수 뒤에 위치하느냐에 따라 결과 값이 달라진다.

// 증감연산자 ++, --
int x = 10;
//int y = x++;  // y = x; x = x + 1;
int y = ++x;    // x = x + 1; y = x;

System.out.println("x = " + x);
System.out.println("y = " + y);

산술 연산자

  • 가장 기본이 되는 연산자로 4칙 연산(+, -, *, /)과 나머지 값을 구하는 나머지 연산자(%)가 있다.

int x = 1234;
System.out.println("x % 7 = " + (x % 7));  // 0 ~ 6 사이의 값을 반환
System.out.println("x % 2 = " + (x % 2));  // 0 ~ 1 사이의 값을 반환, x값이 홀수인지 짝수인지 구분에 유용

비교 연산자

  • 변수나 상수의 값을 비교할 때 쓰이는 연산자로서 결과가 항상 true 또는 false인 논리값(boolean)이어야 한다.

// 비교연산자 <, >, <=, >=, ==, !=
int x = 12;
int y = 15;
// boolean bool = x > y;
// boolean bool = x < y;
boolean bool = (x = x + 5) != y;
System.out.println("bool = " + bool);

논리 연산자

  • 논리 연산자는 피연산자의 값이 true나 false인 논리 값을 가지고 다시 한번 조건 연산하는 연산자이다. 

  • 논리 연산자의 경우 논리곱(&, &&), 논리합(|, ||) 연산자가 2가지로 사용이 가능하다. 이들의 사용법은 차이가 있으며, 일반적으로 &&, || 이 연산자를 주로 사용한다.
// 논리연산자 &, |, !, &&, ||
x = 20;
y = 30;
bool = x < y || (x = x + 15) > y;
System.out.println("bool = " + bool);
System.out.println("x = " + x);

대입 연산자

  • 특정한 상수 값이나 변수 값 또는 객체를 변수에 전달하여 기억시킬 때 사용하는 연산자이다.

// 대입연산자
int num = 120;

num += 30;		// 풀어서 쓰면 num = num + 30; 과 같다.
System.out.println("num = " + num);

// num = num + 3.14F;		// 에러 발생, 아래 코드와 같이 형 변환 해줘야 함.
num = (int)(num + 3.14F);  // int형으로 형 변환 했으므로 정상처리

num += 3.14F;       // 복합대입연산자를 사용시 대상 타입으로 자동 형 변환 해줌.

// 복합대입연산자의 형변환 : 복합대입연산자의 경우 최종 할당되는 변수의 데이터 타입으로 형 변환되서 계산됨.
// int x = 10; double y = 2.3;
// x += y; 이 코드는 x = (데이터타입)(x + y) 이렇게 계산이 됨.
int i = 10;
double rate = 0.01;        
i += (i * rate);    // 형변환되어서 들어가므로 에러 아님.

조건 연산자

  • 하나의 조건을 정의하여 만족 시에는 ‘참값’을 반환하고 만족하지 못할 시에는 ‘거짓값’을 반환하여 단순 비교에 의해 변화를 유도하는 연산자이다. 피연산자가 3개라 해서 삼항 연산자라고도 부른다.

// 조건 연산자 cond ? true : false
char gender = 'F';
System.out.println(gender == 'M' ? "남성" : "여성");

// 어떤 수가 양수, 음수, 영인지 판별하시오.
int no = -12;
System.out.println(no == 0 ? "영" : ( no > 0 ? "양수" : "음수"));

출처 : https://phantom.tistory.com/19

profile
JAVA BACK-END DEVELOPER 👩‍💻

0개의 댓글