(TIL)pre-onboarding_02

졍이🥨·2022년 11월 8일
0

개발일지

목록 보기
5/38

2022-11-08 (화)

Chap.03_연산자와 연산식

연산자 : 연산에 사용되는 표시나 기호

피연산자 : 연산자와 함께 연산되는 데이터

연산식 : 연산자와 피연산자를 이용하여 연산의 과정을 기술한 것

ex) +, -, *, == 은 연산자 / x, y, z는 피연산자


*연산자의 종류 (혼공자_자바 p.103참고)

연산식은 하나의 값을 산출, 연산자 수가 많아도 2개 이상의 값을 산출하지 않으며, 하나의 값 대신에 연산식을 사용 할 수 있음.


*연산의 방향과 우선순위

프로그램에는 연산자의 연산 방향과 연산자간의 우선순위가 정해져 있다.

(ex) x > 0 && y < 0

&&보다는 >, <의 우선순위가 높기 때문에 x>0, y<0이 먼저 처리되고, &&은 x>0과 y<0의 산출값을 가지고 연산한다.

우선순위가 같은 경우에는 연산의 방향에 따라 다르며, 대부분의 연산자는 왼쪽에서 오른쪽(→) 방향으로 연산을 수행한다.

하지만, 단항연산자(++, --, ~, !), 부호연산자 (+, -), 대입연산자(=, +=, =, …)는 오른쪽에서 왼쪽(←) 방향으로 연산을 수행한다.


*연산순위

단항→이항→삼항 순서

산술→비교→논리→대입 순서

단항, 부호, 대입연산자를 제외한 모든 연산의 방향은 왼쪽→오른쪽

복잡한 연산식에는 괄호()를 사용해서 우선순위 정하기


부호(-, +)연산자의 결과는 int타입. byte타입 변수를 부호 연산하면 int타입으로 변환되어 'byte result = -b;'로 쓸 경우 컴파일 에러가 발생한다. 부호 연산의 결과는 int타입이므로 'int result = -b;' 처럼 int 변수로 저장한다.

대입연산자는 모든 연산자들 중에서 가장 낮은 연산 순위를 가지고 있어서 제일 마지막에 수행된다. 그리고 연산 진행방향은 오른쪽에서 왼쪽이다.


삼항연산자는 '?'앞의 조건식에 따라 콜론(:)앞뒤의 피연산자가 선택된다고 해서 '조건연산자'라고 부르기도 한다.

조건식을 연산하여 true가 나오면 삼항 연산자의 결과는 피연산자2가 되고, 반면에 조건식을 연산하여 false가 나오면 삼항 연산자의 결과는 피연산자3이 된다. 피연산자 2와 3에는 주로 값이 오지만, 연산식이 올 수도 있다.

int score = 95;

char grade = (score > 90) ? A : B;

=> grade에 저장될 변수는 (피연산자2)A가 된다.

----

만약 if문으로 작성할 경우는.

int score = 95;

char grade;

if(score>90) {

grade = A

} else {

grade = B

}

----

위 연산식처럼 삼항연산자는 if문으로 변경해서 작성할 수도 있지만, 한 줄에 간단하게 작성하려면 삼항연산자를 사용하는 것이 더 효율적이다.

profile
Front-End :)

0개의 댓글