[Java] 연산자와 연산식

SeoYoon·2023년 6월 14일

💗JAVA

목록 보기
7/21

🖤연산자

1. 연산자와 연산식

  • 연산자 : 연산자란 연산에 사용도는 표시나 기호
  • 연산식 : 연산자와 피연산자를 이용하여 연산의 과정을 기재한 것
    -> 연산식은 반드시 하나의 값을 산출하기 때문에 하나의 값이 올 수 있는 곳이면 어디든 값 대신 사용 가능하다.

2. 연산자의 종류

  • 산술 : +, -, *, /(몫), %(나머지)
  • 대입 : =, +=, -=, *=, /=, %=
  • 증감 : ++, --
  • 비교 : ==, !=, >, <, >=, <=, instanceof
  • 논리 : !, &, |, ||,&&
  • 조건 : (조건식) ? A : B -> 삼항연산자
int result = x + y;

-> x + y의 값을 변수 result에 저장

boolean result (x + y) < 10;

-> x + y의 값이 10보다 작을 때 결과값(true or false)을 변수 result에 저장

3. 연산의 우선순위

  • && 연산자 보다는 <, > 연산자가 먼저 처리됨
  • 단항 > 이항 > 삼항 연산자 순으로 우선순위를 가짐
  • 산술 > 비교 > 논리 > 대입 연산자 순으로 우선순위를 가짐
  • 우선 순위가 같을 경우 왼쪽 -> 오른쪽 방향으로 연산을 수행함
  • 단항 연산자(++, --, ~, !), 부호 연산자(+, -), 대입 연산자(=, +=, -= 등)는 오른쪽 -> 왼쪽 방향으로 연산을 수행함
  • 먼저 연산하고 싶은 것이 있다면 ( ) 괄호를 사용하면 최우선순위를 갖는다.

4. 단항 연산자

(1) 부호 연산자
: boolean 타입과 char 타입을 제외한 나머지 기본 타입에 사용 가능
+ : 양수를 나타냄
- : 음수를 나타냄


(2) 증감 연산자

++ + 피연산자 : 다른 연산을 수행하기 전에 피연산자의 값을 1 증가시킴
-- +피연산자 : 다른 연산을 수행하기 전에 피연산자의 값을 1 감소시킴
피연산자 + ++ : 다른 연산을 수행한 후에 피연산자의 값을 1 증가시킴
피연산자 + -- : 다른 연산을 수행한 후에 피연산자의 값을 1 감소시킴
⑤ 연산식에서 증감 연산자만 사용된다면 증감 연산자의 위치는 상관 없음
ex.) i++; = ++i; =i = i + 1;

int x = 1;
int y = 1;
int i = ++x + 10;
int j = y++ + 10;

위의 식에서 i = 12, j = 11 이 저장된다.

5. 비교 연산자

(1) 동등 비교
== : 좌우측 값이 같은지 검사
!= : 좌우측 값이 다른지 검사
> : 좌측 값이 큰지 검사
< : 우측 값이 큰지 검사
<= : 우측 값이 좌측 값보다 같거나 큰지 검사
>= : 좌측 값이 우측 값보다 같거나 큰지 검사


6. 논리 연산자

: boolean 타입만 사용할 수 있음

(1) 논리곱 (AND)

-> && or &
: 피연산자 모두가 true일 경우에만 연산 결과가 true

(2) 논리합 (OR)

-> || or |
: 피연산자 중 하나만 true이면 연산 결과는 true

(3) 배타적 논리합 (XOR)

-> ^
: 피연산자가 하나는 true이고 다른 하나가 false일 경우에만 연산 결과가 true

(4) 논리 부정 (NOT)

-> !
: 피연산자의 논리 값을 바꿈

7. 대입 연산자

: 오른쪽 피연산자의 값을 왼쪽 피연산자인 변수에 저장, 모든 연산자 중에 가장 낮은 연산 순위를 가져 제일 마지막에 수행된다.

= : 오른쪽 값을 왼쪽 변수에 저장
+= : 변수=변수+피연산자와 동일
-= : 변수=변수-피연산자와 동일
*= : 변수=변수*피연산자와 동일
/= : 변수=변수/피연산자와 동일
%= : 변수=변수%피연산자와 동일
&= : 변수=변수&피연산자와 동일
|= : 변수=변수|피연산자와 동일
^= : 변수=변수^피연산자와 동일


8. 삼항 연산자 (if문으로도 작성 가능)

조건식(피연산자1) ? 값 또는 연산식(피연산자2) : 값 또는 연산식(피연산자3)

: 조건식(피연산자1)이 true이면 피연산자2 수행, false이면 피연산자3 수행

profile
공부 기록

0개의 댓글