연산자 / java
항(operand): 연산에 사용되는 값
연산자(operator): 항을 이용하여 연산하는 기호
대입 연산자(assignment operator)(=)
- 변수에 다른 변수나 값을 대입하는 연산자
- 이항 연산자 중 우선 순위가 가장 낮은 연산자
- 왼쪽 변수 = 오른쪽 변수(또는 식, 값)
- ❤️🔥같다가 아니라 메모리공간에 저장된 라이트밸류값을 레프트밸류 메모리공간에 복사하는 것.(같다는 ‘ == ‘로 표현)
- 리터럴, 변수, 식, 변수+리터럴, 변수+변수 등이 대입될 수 있다.
부호 연산자( -x, +x..)
- 단항 연산자
- 변수의 부호를 유지하거나 (+), 바꿈(-)
- 실제 변수의 부호가 변하려면 대입 연산자를 사용해야 함
산술 연산자(+ - * / %)
- 사칙 연산자
- 이항 연산자
- / —> 나누고 몫을 구함
- % —> 나누고 나머지를 구함
복합 대입 연산자(+=, -=, *=, /=, %=…)
- 대입 연산자와 다른 연산자가 함께 쓰임
sum += sum; -> sum = sum + num;
sum -= sum; -> sum = sum - num;
sum *= sum; -> sum = sum * num;
sum /= sum; -> sum = sum / num;
sum %= sum; -> sum = sum % num;
증가 감소 연산자(++, --)
- 단항 연산자
- 변수의 값을 1더하거나 1 뺄 때 사용
- 연산자가 항의 앞에 있는가 뒤에 있는가에 따라 연산 시점과 결과가 달라짐
- 문장(statement)의 끝(;)을 기준으로 연산 시점을 생각해야 함
int num = 0;
num++; -> num = 0 + 1;
num--; -> num = 0 - 1;
관계 연산자(>, <, >=, <=, ==, !=)
- 이항 연산자
- 연산의 결과가 true(참), false(거짓)으로 반환 됨, 비교연산자라고도 함
- 조건문, 반복문의 조건식으로 많이 사용 됨
// 관계 연산자 '!='는 같지 않을 때 true
int num1 = 1;
int num2 = 2;
boolean a = (num1 != num2); -> a = true
논리 연산자(&&, ||)
- 1 —> true, 0 —> false
- 논리 곱(&&) —> and 연산
- 논리 합(||) —> or 연산
- 논리 곱은 두 항의 결과가 모두 true일 때만 true
- 논리 합은 두 항의 결과중 하나라도 true이면 true
조건 연산자
- 삼항 연산자
- 조건식의 결과가 true인 경우와 false인 경우에 따라 다른 결과가 수행됨
- if문(조건문)을 간단히 표현할 때 사용할 수 있음
- 조건식 ? 결과1 : 결과2; —> 조건식이 참이면 결과1, 조건식이 거짓이면 결과2가 선택 —> int num = (5 > 3) ? 10 : 20; —> 10
비트 연산자
-
대입연산자와 다른 연산자가 함께 쓰임
-
마스크: 특정 비트를 가리고 몇 개의 비트 값만 사용할 때
-
비트 켜기: 특정 비트들 만을 1로 설정해서 사용하고 싶을 때
ex) & 00001111 (하위 4비트 중 1인 비트만 꺼내기) -
비트 끄기: 특정 비트들 만을 0으로 설정해서 사용하고 싶을 때
ex) | 11110000 (하위 4비트 중 0인 비트만 0으로 만들기) -
비트 토글: 모든 비트들을 0은 1로, 1은 0으로 바꾸고 싶을 때
-
‘~’ —> 비트의 반전(1의 보수) —> a = ~a;
-
‘&’ —> 비트 단위 AND —> 1 & 1, 1반환 그 외는 0
-
‘|’ —> 비트 단위 OR —> 0|0, 0반환 그 외는 1
-
‘^’ --> 비트 단위 XOR —> 두개의 비트가 서로 다른 경우에 1을 반환
-
‘<<‘ —> 왼쪽 shift —> a << 2, 변수 a를 2비트 만큼 왼쪽으로 이동
-
‘>>’ —> 오른쪽 shift —> a >> 2, 변수 a를 2비트 만큼 오른쪽으로 이동
-
‘>>>’ —> 오른쪽 shift —> >> 동일한 연산, 채워지는 비트가 부호와 상관없이 0임
Author And Source
이 문제에 관하여(연산자 / java), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@aljongjong/연산자-java저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)