Chapter3
1. 연산자와 피연산자
연산을 수행하는 기호 - x + 3 에서 연산자는 "+", 피연산자는 "x"와"3"
대입연산자를 같이 사용해 변수같은 값을 저장할 수 있는 공간에 결과를 저장한다.
2. 연산자의 종류
산술연산자 - +, -, *, /, %, <<, >>
비교연산자 - >, <, >=, <=, ==, !=
논리연산자 - &&, ||, !, &, |, ^, ~
대입연산자 - =
기타 - (type)? : instanceof
3. 연산자의 결합규칙
3 + 4 - 5 (결합규칙 왼->오)
x = y = 3(결합규칙 오->왼)
산술 > 비교 > 논리 > 대입 순으로 수행됨.
단항 > 이항 > 삼항 순
단항 연산자와 대입연산자를 제외한 모든 연산자의 방향은 왼->오
4. 증감 연산자 ++, --
각각 1증가, 감소 시킨다.
전위형 - ex) j = ++i; - 값이 참조되기 전에 증가시킨다.
후위형 - ex) j = i++; - 값이 참조된 후에 증가시킨다.
5. 형변환 연산자
(타입)피연산자 - 형변환하고자 하는 변수나 리터럴의 앞에 변환하고자 하는 타입의 괄호와 함께 붙혀주기만 하면됨.
6. 자동 형변환
큰 타입에서 작은 타입으로의 형변환은 값 손실이 발생할 수 있다. 그러므로 명시적으로 형변환을 해줘야하며, 그 반대의 경우 자동으로 넓은 쪽으로 형변환이 된다.
7. Math.round()로 반올림하기
long result = Math.round(4.52); //result에 5가 저장된다.
소수점 첫째 자리에서 반올림한 결과를 정수로 반환한다.
8. 나머지 연산자 %
피연산자로 정수와 실수를 허용, 나머지 연산자는 나누는 수로 음수도 허용한다. 그러나 부호는 무시되므로 결과는 음수의 절대값으로 나눈 나머지와 결과가 같다.
9. 논리 연산자 && ||
ex) x는 10보다 크고, 20보다 작다를 표현할때, 10 < x && x <20
ex) i는 2의 배수 또는 3의 배수이다를 표현할때 i%2==0 || i%3==0
ex) i는 2의 배수 또는 3의 배수지만 6의 배수는 아니다. (i%2==0 || i%3==0) && i%6!=0
ex) 문자 ch는 숫자('0'~'9')이다. '0' <= ch && ch <= '9'
ex) 문자 ch는 대문자 또는 소문자이다. (('a' <= ch && ch <= 'z') || ('A' <= ch && ch <= 'Z'))
10. 조건 연산자
조건식 ? 식1 : 식2 - 참일경우 식1, 거짓일 경우 식2 가 출력됨.
11. 대입 연산자
X = 3
X = lvalue , 3 = rvalue
12. 복합 대입 연산자
i +=3; -- i = i + 3;