본문 바로가기
프로그래밍/Java-문법정리

【Java문법】연산자

by 코이킹 2022. 1. 9.
반응형

안녕하세요 코이킹입니다. 

 

이번 포스트에서는 연산자에 대해서 설명해보겠습니다. 


1. 연산자란?

 연산자란 계산을 하기위한 기호 입니다. 

업무를 하면서 주로 사용하는 연산자는 사칙연산등을 하는데 필요한 '산술연산자', 

값을 순차적으로 늘리거나 줄이는 '증감연산자', 값의 비교를 위한 '비교연산자', 

변수의 값을 대입하기 위한 '대입연산자' 가 있습니다.

 

 

2. 산술 연산자 

 사칙연산과 같은 계산을 하는데 사용되는 연산자로, [값A] [연산자] [값B] 와 같은 형식으로 사용됩니다. 

코드 해석은 "값A를 값B로 연산자에 해당하는 연산을 실시" 와 같이 하시면 됩니다. 

 

1) '+' 플러스 연산자 

플러스 연산자는 덧셈연산에 사용되며, 코드 해석은 "값A에 값B를 더하는 연산을 실시"가 되겠습니다. 

int a = 100;
int b = 20;
int c = -10;

System.out.println(a + b);  // 120
System.out.println(a + c);  // 90

 

2) '-' 마이너스 연산자

마이너스 연산자는 뺄셈연산에 사용되며, 코드 해석은 "값A에서 값B를 빼는 연산을 실시"가 되겠습니다. 

System.out.println(a - b);  // 80
System.out.println(a - c);  // 110

 

3) '*' 곱하기 연산자

곱하기 연산자는 곱셈연산에 사용되며, 코드 해석은 "값A에 값B를 곱하는 연산을 실시"가 되겠습니다.

System.out.println(a * b);  // 2000
System.out.println(a * c);  // -1000

 

4) '/' 나누기 연산자

나누기 연산자는 나눗셈연산에 사용되며, 코드 해석은 "값A를 값B로 나누는 연산을 실시"가 되겠습니다.

System.out.println(a / b);  // 5
System.out.println(a / c);  // -10

 

5) '%' 나머지 연산자

나머지 연산자는 나눗셈연산의 나머지를 구하는 데에 사용되며, 코드 해석은 "값A를 값B로 나눈 나머지를 구하는 연산을 실시"가 되겠습니다.

System.out.println(a % b);  // 0
System.out.println(a % c);  // 0

 

 

3. 증감연산자

증감연산자는 변수의 값을 1씩 증가 또는 감소시키는 연산에 사용되는 연산자 입니다. 

증감 연산자는 전행 또는 후행으로 사용할 수 있습니다. 

 

1) '++n', '--n' 전위 증감연산자 

 전위 증감연산을 하게 되면, 증감 연산을 실시후 증감연산이 완료된 값이 출력 됩니다. 

int n = 0;

System.out.println(++n);  // 1
System.out.println(n);    // 1
System.out.println(--n);  // 0
System.out.println(n);    // 0

 

2) 'n++', 'n--'후위 증감연산자 

 후위 증감연산을 하게 되면, 변수에 기존에 저장된 값이 일단 출력된 후 증감 연산이 실시됩니다. 

System.out.println(n++);  // 0
System.out.println(n);    // 1
System.out.println(n--);  // 1
System.out.println(n);    // 0

 

4. 비교 연산자 

비교연산자는 값을 비교하는 연산에 사용되는 연산자로, 비교 연산후 식이 참인지 거짓인지 boolean 값을 반환합니다. 

 

1) '<' 연산자 

 연산자를 기준으로 왼쪽의 값과 오른쪽의 값을 비교하여, 오른쪽의 값이 크다면 true를 그렇지 않은 경우 false를 반환합니다.

int num1 = 10;
int num2 = 20;
int num3 = 10;

System.out.println(num1 < num2);  // true
System.out.println(num1 < num3);  // false

 

2) '<=' 연산자

 연산자를 기준으로 왼쪽의 값과 오른쪽의 값을 비교하여, 오른쪽의 값이 크거나 같다면 true를 그렇지 않은 경우 false를 반환합니다.

System.out.println(num1 <= num2);  // true
System.out.println(num1 <= num3);  // true

 

3) '>' 연산자

 연산자를 기준으로 왼쪽의 값과 오른쪽의 값을 비교하여, 왼쪽의 값이 크다면 true를 그렇지 않은 경우 false를 반환합니다.

System.out.println(num1 > num2);  // false
System.out.println(num1 > num3);  // false

 

4) '>=' 연산자

 연산자를 기준으로 왼쪽의 값과 오른쪽의 값을 비교하여, 왼쪽의 값이 크거나 같다면 true를 그렇지 않은 경우 false를 반환합니다.

System.out.println(num1 >= num2);  // false
System.out.println(num1 >= num3);  // true

 

5) '==' 연산자

 연산자를 기준으로 왼쪽의 값과 오른쪽의 값을 비교하여, 왼쪽의 값과 오른쪽의 값이 같다면 true를 그렇지 않은 경우 false를 반환합니다.

System.out.println(num1 == num2);  // false
System.out.println(num1 == num3);  // true

 

6) '!='(XOR) 연산자 

 연산자를 기준으로 왼쪽의 값과 오른쪽의 값을 비교하여, 왼쪽의 값과 오른쪽의 값이 다르다면 true를 같다면 false를 반환합니다.

System.out.println(num1 != num2);  // true
System.out.println(num1 != num3);  // false

 

7) '!'(NOT) 연산자

 연산자를 기준으로 왼쪽의 값과 오른쪽의 값을 비교한 식의 결과가 true라면 false를 false라면 true를 반환합니다.

System.out.println(!(num1 == num2));  // true
System.out.println(!(num1 == num3));  // false

 

8) '&&'(AND) 연산자

 연산자를 기준으로 왼쪽의 식과 오른쪽의 식의 결과가 모두 true라면 true를 양쪽의 식중 어느 한곳이라도 false라면 false를 반환합니다.

※ 왼쪽의 식의 결과가 false라면 오른쪽의 식의 비교는 실행되지 않음.

System.out.println((num1 != num2) && (num1 == num3));    // true
System.out.println(isEqual(num1, num2) && isEqual(num1, num3));  // false

public static boolean isEqual(int num1, int num2) {
    boolean result = num1 == num2;
    System.out.println("isEqual Result is : "+result);
    return result;
}

 

9) '||'(OR) 연산자

 연산자를 기준으로 왼쪽의 식과 오른쪽의 식의 결과가 양쪽의 식중 어느 한곳이라도 true라면 true를 양쪽의 식의 결과가 모두 false라면 false를 반환합니다.

System.out.println((num1 != num2) || (num1 == num3));            // true
System.out.println(isEqual(num1, num2) || isEqual(num1, num3));  // true

 

※ 논리 연산자의 결과 값 정리 

왼쪽 식의 값 오른쪽 식의 값 AND(&&) OR(||) XOR(!=)
true true true true false
true false false true true
false false false true true
false false false false false

 

※ 예제코드

https://github.com/leeyoungseung/algorithmBasic/blob/master/algorithm/src/basic/B_04_Operator.java

 

※ qiita에 투고한 URL

https://qiita.com/Koiking-L/items/a82a05a87f9359073424

반응형

'프로그래밍 > Java-문법정리' 카테고리의 다른 글

【Java문법】배열  (0) 2022.01.09
【Java문법】반복문  (0) 2022.01.09
【Java문법】조건문  (0) 2022.01.09
【Java문법】데이터 타입  (0) 2022.01.09
【Java문법】변수  (0) 2022.01.09

댓글