Languages/Java

[HUFS/컴퓨터 프로그래밍] #5 연산자

성중 2021. 3. 3. 18:14

연산자(operator)

-연산자(연산기호) / 피연산자(연산되는 데이터)

-연산식: 연산자, 피연사자를 사용한 연산 과정

Java 에서 제공하는 연산자들 ..

 

연산식의 연산에 우선순위가 있다. 주의해주자.

1. 먼저 우선순위를 따진다.

2. 우선순위가 같다면 당연히 왼쪽에서 오른쪽 순으로 계산한다.

 

*예외: 대입연산자의 경우 오른쪽에서 왼쪽 순으로 인식

연산 방향과 우선순위 정리.. 참고하자

#1 산술 연산자

= (대입), + (더하기), - (빼기), * (곱하기), / (나누기), % (나머지 값)

그냥 일반적인 사칙연산이다.

 

***정수 계산에서 실수 결과가 나오는 경우, 자료형 변환을 해주자. (이전 문서 참고)

결과 값이 달라지니 변환을 꼭 해주자

 

*대입연산자와 증감 연산자

점점 진행되는 개념! 단순하게 생각하자

 

추가) a++와 ++a의 차이점

#2 관계(비교) 연산자

결과가 항상 참(true)이나 거짓(false)이다.

조건문(if) 반복문(or, while)에서 사용 / 실행 흐름 제어

종류들을 보자

#3 논리 연산자

두 가지 이상의 조건을 표현하는 경우..

결과 값이 간단하게 true/false로 나온다.

 

#4 비트 연산자 (데이터 형식 – 비트 참고)

정수나 문자 등을 2진수로 변환 후 각 자리의 비트끼리 연산한다.

-비트 논리곱 연산자 &(AND)

 

~10진수를 2진수로 변환

~2진수끼리 비트 단위로 연산

 

Java에서 비트 연산 사용 예시

논리합 연산(|), 배타적 논리합 연산(^)도 비슷하게 응용 한다!

 

- 비트 부정 연산자 ~

비트 부정 연산자의 경우 그냥 하나를 2진수로 변환해서 0과 1을 뒤바꾸면 된다.

해당 값의 음수(-)값을 찾으려 할 때 사용

이렇게 반전된 값1의 보수라고 하며 그 값에 1을 더한 값2의 보수라고 한다.

(해당 값의 2의 보수가 음수(-) 값임!)

- 왼쪽 시프트 연산자 <<

- 오른쪽 시프트 연산자 >>

#5 연산자 우선순위

이런 다양한 연산자들이 동시에 나오면 어느 것부터 처리될까?