자바의정석 ch3

soso·2023년 2월 9일
0
post-thumbnail

Chapter3 연산자

연산자와 피연산자

연산자는 '연산을 수행하는 기호'를 말한다.
연산을 수행하려면 반드시 연산의 대상이 있어야 하는데 이것을 '피연산자(operand)'라고 한다.

연산자 : 연산을 수행하는기호(+, -, *, / 등)
피연산자(operand) : 연산자의 연산 수행 대상 (변수, 상수, 리터럴, 수식)

모든 연산자는 연산결과를 반환한다.

연산자의 종류

피연산자의 개수로 연산자를 분류하기도 한다.
피연산자의 개수가 하나면 '단항 연산자'
두 개면 '이항 연산자', 세 개면 '삼항 연산자'라고 부른다.
대부분의 연산자는 '이항 연산자'이다.

연산자의 우선순위

-괄호의 우선순위가 제일 높다.
-산술 > 비교 > 논리 > 대입
-단항> 이항> 삼항
-연산자의 연산 진행방향은 왼쪽에서 오른쪽(→)이다.
단, 단항, 대입 연산자만 오른쪽에서 왼쪽(←)이다.

증감연산자 ++과 --

증가 연산자(++) 피연산자의 값을 1 증가시킨다.
감소 연산자(--) 피연산자의 값을 1 감소시킨다.

일반적으로 단항 연산자는 피연산자의 왼쪽에 위치한다.
하지만 증가 연산자'++'와 감소연산자'--'는 양쪽 모두 가능.

증감 연산자가 독립적으로 사용된경우 전휘형과 후회형의 차이가 없다.

부호 연산자(+,-)와 논리부정 연산자(!)

부호 연산자(+,-) : '+'는 피연산자에 1을 곱하고 '-'는 피연산자에 -1을 곱한다.
논리부정 연산자(!) : true는 false로, false는 true로 피연산자가 boolean일 때만 사용가능

형변환 연산자

연산 전에 피연산자의 타입을 일치시키는것.
변수나 리터럴의 타입을 다른 타입으로 변환하는 것을 형변환(casting)이라고 한다.
형변환이란, 변수 또는 상수의 타입을 다른타입으로 변환하는것
형변환하고자 하는 변수나 리터럴의 앞에 변환하고자 하는 타입을 괄호와 함께 붙여주면 된다.
(타입)피연산자

자동형변환

"기존의 값을 최대한 보존할 수 있는 타입으로 자동 형변환된다."
1. 두 피연산자의 타입을 같게 일치시킨다.(보다 큰 타입으로 일치)
2. 피연산자의 타입이 int 보다 작은 타입이면 int로 변환된다.

Math.round()로 반올림하기

반올림할려면 Math.round()를 사용하면된다.
소수점 첫째 자리에서 반올림한 결과를 정수로 변환한다.

비교연산자

대소비교 연산자 < > <= >=
두 피연산자를 비교해서 true(참) 또는 false(거짓)을 반환한다.
기본형 중에서는 boolean을 제외한 나머지 자료형에 다 사용할 수 있지만 참조형 에는 사용할 수 없다.
주로 조건문과 반복문의 조건식에 사용된다.

등가비교 연산자 == !=
값이 같은지 다른지 비교하는 연산자이다.
대소 비교 연산자와 다르게 모든 자료형(기본형, 참조형)에서 사용한다.
기본형과 참조형은 서로 형 변환이 불가능하기 때문에 등가 비교 연산자(== ,!=)로 기본형과 참조형 비교할 수 없다

문자열 비교

문자열 비교에는 == 대신 equals()를 사용해야한다.
equals()는 비교하는 두 문자열이 같은면 true를, 다르면 false를 반환한다.

논리연산자 && ||

조건식을 연결할 때 사용하는 연산자
|| (OR결합) 피연산자 중 어느 한 쪽이 true이면 true를 결과를 얻는다.
&&(AND결합) 피연산자 양쪽 모두 true이어야 true를 결과로 얻는다.

논리 부정 연산자 !

true를 false로, false는 true로 바꾼다.
주로 사용되는 곳은 조건문과 반복문의 조건식이다.

조건 연산자

조건식의 결과에 따라 연산 결과가 달리한다.
조건식, 식1, 식2 모두 세 개의 피연산자를 필요로 하는 삼항 연산자이다
삼항 연산자는 조건 연산자 하나뿐이다.

조건연산자는 조건문인 if문으로 바꿔 쓸 수있으며, if문 대신 조건 연산자를 사용하면 코드를 보다 간단히 할 수 있다.

대입연산자

변수와 같은 저장공간에 값 또는 수식의 연산 결과를 저장하는데 사용된다.
오른쪽 피연산자를 왼쪽 피연산자에 저장 후 저장된 값을 반환한다.

lvalue -대입 연산자의 왼쪽 피연산자
rvalue -대입 연산자의 오른쪽 피연산자

rvalue는 변수 뿐 아니라 식이나 상수 등 모두 가능하다.
lvalue는 반드시 변수처럼 값을 변경할 수 있는 것이여야 한다.
리터럴이나 상수같이 값을 저장할 수 없는 것들은 lvalue가 될수없다.

복합대입연산자

대입 연산자는 다른 연산자(op)와 결합하여 'op='와 같은 방식으로 하나로 축약한다.
결합된 두 연산자는 반드시 공백 없이 붙여 써야 한다.

profile
오늘의 기록

0개의 댓글