[Java] 210620

하채린·2021년 6월 20일
0

연산자의 결합규칙

  1. 산술 > 비교 > 논리 > 대입. 대입은 제일 마지막에 수행된다.
  2. 단항(1) > 이항(2) > 삼항(3). 단항 연산자의 우선순위가 이항 연산자보다 높다.
  3. 단항 연산자와 대입 연산자를 제외한 모든 연산의 진행방향은 왼쪽에서 오른쪽이다.

형변환 연산자

형변환(casting)이란, 변수 또는 상수의 타입을 다른 타입으로 변환하는 것

형변환 방법은, 형변환하고자 하는 변수나 리터럴의 앞에 변환하고자 하는 타입을 괄호와 함께 붙여준다.

double d = 85.4;
int score = (int)d; // int score = 85;

자동 형변환

서로 다은 타입 간의 대입 또는 연산시, 형변환으로 타입을 일치시키는 것이 원칙이다.
컴파일러가 생략된 형변환을 자동적으로 추가해주는 것을 자동 형변환이라 한다.

float f = 1234; // float f = (float)1234;에서 (float)가 생략됨

위에서 우변은 int타입의 상수인데, 이 값을 저장하려는 변수의 타입은 float이다. 서로 다른 타입이라 형변환이 필요하지만 float 타입의 변수는 1234라는 값을 저장하는데 문제가 없기때문에 표시가 생략된다.

기존의 값을 최대한 보존할 수 있는 타입으로 자동 형변환된다.

표현범위가 좁은 타입에서 넓은 타입으로 형변환된다.

byte -> short -> int -> long -> float -> double

char형 같은 경우는 int로 형변환 가능하며, short와는 같은 2byte임에도 표현범위가 달라 자동 형변환 되지않고 수동으로 해야한다.

반대로 표현범위가 넓은 타입에서 좁은 타입으로 형변환을 하게 되면, 값 손실이 발생한다.


Math.round()

반올림 할 때 사용되며, 이 메소드는 소수점 첫째 자리에서 반올림 한 결과를 정수로 반환한다.

long result = Math.round(4.52); // result에 5가 저장된다.

복합 대입 연산자

op=
i += 3;
위 아래 둘 다 같은 표현
=
i = i + 3;

references

profile
developer d의 왼쪽 커서쯤 🏃‍♂️🏃‍♀️

0개의 댓글