연산자 : 연산을 수행하는 기호
피연산자 : 연산자의 연산 수행 대상
증가 연산자(++) : 피연산자의 값을 1 증가 시킵니다.
감소 연산자(--) : 피연산자의 값을 1 감소 시킵니다.
'-' 는 피연산자의 부호를 반대로 변경합니다.
'+' 는 아무런 일도 하지 않습니다.(실제 사용X)
변수 또는 상수의 타입을 다른 타입으로 변환하는 것을 의미합니다.
(타입)피연산자
기존의 값을 최대한 보존할 수 있는 타입으로 자동 형변환된다."
float f = 1234; => int 타입의 값을 float타입의 변수에 저장!
상대적으로 int 타입이 float 타입 보다 크기가 작기 때문에 가능합니다.
float f = (float)1234; => 사실 변수와 리터럴의 타입을 일치 시켜줘야 합니다.
우리가 보는 코드에는 형변환이 생략되어 있었습니다. 즉, 컴파일러에 의해 자동으로 형변환된 겁니다.
연산 전에 피연산자의 타입을 일치시키는 것을 의미합니다.
1. 두 피연산자의 타입을 같게 일치시킨다.(보다 큰 타입으로 일치)
long + int -> long + long => long
float + int -> float + float => float
double + float -> double + double => double
2. 피연산자의 타입이 int 보다 작은 타입 이면 int 로 변환된다.
byte + short -> int + int => int
char + short -> int + int => int
이는 int 보다 작은 타입이 계산을 통해 쉽게 범위가 넘어갈 수 있기 때문에 오버플로우가 발생해 정확한 계산값을 가져오지 못할 수 있어서 미리 큰 범위인 int 타입으로 변환시킨 후 계산하는 것입니다.
Math는 수학과 관련된 메서드를 가지고 있는 클래스 입니다.
메서드는 '특정한 기능을 수행하기 위해 코드로 작성된 단위!' 라고 생각하시면 됩니다.
round() : 실수를 소수점 첫 째자리에서 반올림한 정수를 반환합니다.
ceil() : 올림값을 double 형으로 반환합니다.
floor() : 내림값을 double 형으로 반환합니다.
abs() : int, double 기본형 모두 사용 가능하며 절대값을 얻습니다.
오른쪽 피연산자로 나누고 남은 나머지를 반환합니다.
나누는 피연산자는 0이 아닌 정수만 허용합니다.
부호는 무시됩니다.
두 피연산자를 비교해서 true(참) 또는 false(거짓)를 반환합니다.
문자열 비교에는 == 대신 equals()를 사용해야 합니다.
equals : 비교하고자 하는 두 피연산자의 값 자체를 비교합니다.
== : 비교하고자 하는 두 피연산자의 주소값을 비교합니다.
비트 연산자는 값을 비트 단위로 연산합니다.
따라서 0과 1로 표현이 가능한 정수형이나 형변환이 가능한 자료형만 연산이 가능합니다.
삼항 연산자 : 조건식 ? 반환값1 : 반환값2
조건식의 결과에 따라 연산결과를 달리할 수 있습니다.