[Java]연산자

정석용·2023년 4월 5일
0

Java

목록 보기
3/15
post-thumbnail

연산자

  • 프로그램에서 데이터를 처리하여 결과를 산출하는 것을 연산이라고 한다.
  • 연산에 사용되는 표시나 기호를 연산자라고 한다.
  • 연산되는 데이터는 피연산자라고 한다.

연산자의 종류와 우선 순위

증감 연산자
피연산자의 값을 1씩 증가 또는 감소 시키는 연산자이다. 증감 연산자가 변수 앞, 뒤에 따라 값이 달라진다.

X++: 해당 연산을 수행한 후 피연산자의 값을 1증가 시킴
++X: 피연산자의 값을 1증가 시킨 후 해당 연산을 수행

X--: 해당 연산을 수행한 후 피연산자의 값을 1감소 시킴
--X: 피연산자의 값을 1감소 시킨 후 해당 연산을 수행함

산술 연산자
가장 기본이 되는 연산자로 4칙 연산과 나머지 값을 구하는 나머지 연산자가 있다.

  • 덧셈 - 뺄셈 * 곱셈
    / 나눗셈 % 나머지

시프트 연산자
bit단위의 연산처리를 하여 자료의 가공을 위해 오른쪽 또는 왼쪽으로 이동하여 값에 대한 변화를 일으키는 연산자.

>> bit 값을 오른쪽으로(빈 자리는 부호값) 이동
<< bit 값을 왼쪽으로(빈 자리는 0으로 대입) 이동
>>> bit 값을 오른쪽으로(빈 자리는 0으로 대입) 이동

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

> 크다 < 작다 >= 크거나 같다
<= 작거나 같다 == 피연산자들의 값이 같다 != 피연산자들의 값이 같지 않다

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

& : and :주어진 조건들이 모두 true일 때만 true를 나타낸다.
| : or :주어진 조건들 중 하나라도 true이면 true를 나타낸다.
! : not :true는 false로 false는 true로 나타낸다

&&: 선 조건이 true일 때만 후조건을 실행 false이면 후조건을 실행하지 않는다.
||: 선 조건이 true이면 후조건을 실행하지 않으며 선조건이 false일 때만 후조건을 실행한다.

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

= 연산자를 중심으로 오른쪽 변수 값을 왼쪽 변수에 대입한다.
+= 왼쪽 변수에 더하면서 대입한다.
-= 왼쪽 변수값에서 빼면서 대입한다.
*= 왼쪽변수에 곱하면서 대입한다.
/= 왼쪽 변수에 나누면서 대입한다.
%= 왼쪽 변수에 나머지 값을 구하면서 대입한다.

비트 연산자
피연산자 즉 연산의 대상이 되는 값들을 내부적으로 bit 단위로 변경한 후 연산을 수행하는 연산자이다.

& 비트 단위의 AND
| 비트 단위의 OR
^ XOR(배타적 OR)
~ 단항 연산자이며, 비트를 반전한다.

조건 연산자
하나의 조건을 정의하여 만족 시에는 true 불만족시 false를 반환. 단순 비교 변화를 유도하는 연산자
피연산자가 3개라 해서 삼항 연산자라고도 부름.

?: : 조건식? 참값: 거짓값

instanceof 연산자
객체 타입을 확인하는 연산자
형변환 가능 여부를 확인하며 true / false로 결과를 반환
주로 상속 관계에서 부모객체인지 자식 객체인지 확인하는 데 사용된다.

기본 사용방법으로 "객체 instanceof 클래스" 를 선언함으로써 사용

화살표 연산자
Java에서 람다 표현식의 syntax일부이다.

인자를 0개부터 받아서 implementation 부분에서 활용할 수 있다.
argument list 부분의 인자가 하나라면 구현부의 소괄호를 생략할 수 있으며, statement 개수가 1개이면 중괄호를 생략할 수 있다.

Java 13, switch 연산자
Java12부터 스위치 연산자가 추가 되었다. 기존에 스위치문이 변경된 것이 아니라 스위치 연산자가 추가 된 것이다.

switch operator

  • break을 사용하지 않아도 된다.
  • yield 예약어 존재
  • return 값 존재해도됨
  • case -> A 같은 람다식 표현 가능

래퍼런스
https://phantom.tistory.com/19
https://mine-it-record.tistory.com/120

profile
오늘도 성장중

0개의 댓글