JAVA

Java 연산자

서묘_ 2021. 11. 25. 21:09

연산이라고 하면 + - 이런 산술 연산이 먼저 떠오르는데 

Java에서는 항(operand) 이라고 하는 값을 이용해서 연산자(operator)로 연산한다.

 

항의 개수에 따라서 연산자를 구분하는데

항을 하나 쓰면 단항 연산자

항을 두개 쓰면 이항 연산자

항을 세개 쓰면 삼항 연산자.. 이런 식이다. 

주로 단항 or 다항 연산자로 부른다고한다.

 

1. 대입 연산자 ( = )

변수에 값을 대입하는 연산자로

★우선 순위가 제일 낮다.

★왼쪽 변수에 <- 오른쪽 값을 대입한다(방향 중요!!)

 

ex) int age = 20;

나이를 의미하는 age라는 int타입의 변수에 20이라는 값을 대입한다.

 

2. 부호 연산자 ( + , - )

단항 연산자

양수/음수를 표현할때 값에 붙이는 부호

ex) +3. -3

물론 +3은 그냥 양수라고 3으로 출력된다.

 

3. 산술 연산자 ( + , - , * , / , % )

주로 연산이라고 알고있는 사칙연산에 사용되는 연산자다.

+ : 더하기

- : 빼기

* : 곱하기

/ : 나누기

여기까진 상식과 같다.

% : 앞에있는 항에서 뒤에있는 항을 나눳을때의 나머지를 구한다.

처음에 이게 무슨 소린가 했다 ..

ex) 10%3

10을 3으로 나누면 3이라는 값과 1이라는 나머지가 나온다. % 연산시 나머지인 1을 출력한다.

짝수나 홀수를 구할때 나머지가 있으면 홀수 없으면 짝수.. 이런 특정 범위의 수를 구할때 사용한다고한다.

 

4. 증가 감소 연산자 ( ++ , -- )

단항연산자

1만큼 더하거나 뺄때 사용한다.

항의 앞에 위치하면 우선순위가 대입 연산자보다 앞으로

항의 뒤에 위치하면 우선순위가 대입 연산자보다 뒤로간다. (위치에 유의)

 

ex) val = ++num; 

num 값에 1만큼 더하고 val 변수에  대입한다. 

num이 1이었다면 2가되고 val에 2가 대입되는것. 

 

val = num++;

val 변수에 num 값을 대입하고 num 값에 1만큼 더한다.

num이 1이었다면 val에 1을 먼저 대입하고 num은 2가되는것.

 

5. 관계 연산자 ( > , < , >= , <= , == , != )

이항연산자

연산의 결과가 true, false로 반환된다.

방향은 왼쪽 기준! 

> : 왼쪽 항이 크면 true 작으면 false 

< : 왼쪽 항이 크면 true 작으면 false

>= : 왼쪽 항이 오른쪽 항보다 크거나 같으면 true 작으면 false

<= : 왼쪽 항이 오른쪽 항보다 크거나 같으면 true 작으면 false

== : 두개의 항의 값이 같으면 true 작으면 false

!= :  두개의 항의 값이 다르면 true 작으면 false

 

6. 논리 연산자 ( && , || , ! )

관계연산자와 함께 많이 쓰인다.

연산의 결과가 true, false로 반환된다.

&&(논리 곱) : 두 항이 모두 true인 경우에만 결과가 true 그 외엔 false

||(논리 합) : 두 항 중 하나의 항만 true면 true, 두 항이 다 거짓이면 false

!(부정) : 단항연산자. ture를 false로, false를 true로 바꾼다.

 

* 단락 회로 평가

&&(논리 곱) 은 두 항이 모두 true일 때만 true, 앞의 항이 false면 뒤의 항을 보지않고 바로 false값을 반환.

||(논리 합) 은 두 항이 모두 false일 때만 false, 앞의 항이 true면 뒤의 항을 보지 않고 바로 true값을 반환.

 

7. 복합 대입 연산자( += , -= , *= , /= , %= ...)

다른 연산자와 대입연산자를 함께 사용한것.

프로그램에서 자주 쓴다고한다.

말그대로 한번에 쓴거

ex) num += 2;  -> num = num + 2; 와 같다.

두 항을 더하고 그 값을  num에 대입한다.

 

여러가지 있지만 위의 괄호안에 쓴거 말곤 잘 안쓴다고한다.

그 외에 <<= , >>=, >>>=, &=, |=, ^= 이런 비트 연산자가 있는데.. 궁금하면 구글링!

 

8. 조건 연산자 ( ? : )

삼항 연산자

조건식의 true, false에 따라 결과가 결정된다.

조건식 ? 결과1 : 결과2 ;

조건식이 true면 결과1, false면 결과2가 결정됨.

 

9. 비트 연산자 ( ~ , & , | , ^ , << , >> , >>>)

잘 쓰지 않는 비트단위 연산자로 정수에만 사용할 수 있다고한다.

말그대로 비트 bit 이진수단위 연산자.. ... 궁금하면 구글링!

 

 

수많은 연산자들이 있는데 연산 우선 순위가 있다.

잘 쓰지 않는다는 비트연산자 제외하고 우선순위가 높은 순서부터 정리하면

 

일차식 (), []

단항 !, ++, --, +, -

산술 *, /, % 

산술 +, -

관계 <, >, <=, >=

관계 ==. !=

논리곱 &&

논리합 ||

조건 ? :

★대입 =, +=, -=, *=, /=, %=

 

대입 연산자가 제일 마지막이라는게 포인트인거다.