본문 바로가기

Java

형변환 및 전,후위 연산자

형변환(캐스팅)

형변환이란 변수 또는 상수의 타입을 다른 타입으로 변환하는 것입니다.

단, 데이터 손실이 발생하면 아무런 의미가 없어집니다.

 

int = k;

flaot f = 1.45;

k = (int)f; // 작은타입 = 큰타입

 

이 예제가 작은타입 = 큰타입의 형변환 예시입니다.

int는 float보다 작은타입이기 때문에 형변환을 해주면 소수점은 전부 버리고 1이라는 값만 저장됩니다.

따라서 큰타입에 작은타입을 형변환을 하는 것이 아니면 데이터가 손실 될 수 있기 때문에 주의해서 형변환을 해줘야합니다.

 

자동형변환 규칙

위의 그림의 화살표 방향으로는 자동형변환이 되지만, 반대의 경우는 형변환 연산자를 사용해줘야합니다.

 

전,후위 연산자

전위연산자(prefix)

전위 증감 연산자는 변수 자체의 값을 1 증가/감소해서 반환합니다.

후위연산자(postfix)

후위 증감 연산자는 다른 변수에 현재 변수 값을 저장하고 변수 값을 1 증가/감소하고 이전에 저장된 값을 반환합니다.

 

컴파일러에서 최적화를 하기 때문에 차이가 없을 수도 있지만 최적화를 하지 않을 경우에는 전위 증감 연산자를 사용하면 후위 증감 연산자 보다 성능상 이득이 있을 수 있습니다.

 

  • 전위 증감 연산자는 실행문에서 값이 먼저 증가/감소해서 적용됩니다.

1. int i = 1;  

2. int j = ++i;

j = 2 , i = 2 가 된다.

 

  • 후위 증감 연산자는 실행문에서 값이 후에 증가/감소해서 적용됩니다.

1. int i = 1;  

2. int j = i++;

j = 1 , i = 2 가 된다.

 

보통  for문에 자주 사용하고 전위,후위 연산자 모두 같은 결과를 나타내지만 내부적으로 동작 원리가 다릅니다.

  •  전위 증감 연산자(++i,--i)

1. i = i + 1;  

2. return i;

 

  • 후위 증감 연산자(i++,i--)

1. const int temp = i;

2. i = i + 1;

3. return temp;

 

 

전위 후위 증감 연산자, ++i, i++ 차이

단항 연산자 중에서 증감 연산자 ++,--가 있고 변수 앞에 붙이면 전치 증감 연산자(++i,--i)라고 하고 변수 뒤에 붙이면 후위 증감 연산자(i++,i--)라고 합니다. 전위 증감 연산자는 실행문에서 값

babytiger.tistory.com

'Java' 카테고리의 다른 글

클래스 구조, 선언, 객체생성  (0) 2020.10.31
배열이란?  (0) 2020.10.31
제어문 및 반복문  (0) 2020.10.31
public static void main(string args) 의미 및 함수 메서드 차이점  (0) 2020.10.31
변수의 종류 및 명명법  (0) 2020.10.31