변수와 타입 & 연산자

Bummy·2023년 6월 19일
0

JAVA

목록 보기
2/11

2. 변수와 타입

2.3 타입 변환

  • 자동(묵시적) 타입 변환과 강제(명시적) 타입 변환이 있다.

자동(묵시적) 타입 변환

  • 작은 크기를 가지는 타입이 큰 크기를 가지는 타입에 저장될 때 발생한다.
byte byteValue = 10;
int inValue = byteValue; //자동 타입 변환

강제(명시적) 타입 변환

  • 큰 크기의 타입을 작은 크기의 타입으로 저장할때 발생
int intValue = 103029770;
byte byteValue = (byte) intValue; //강제 타입 변환(캐스팅)

3. 연산자

오버플로우 탐지

  • 연산 후의 산출값이 산출 타입으로 충분히 표현 가능한지 살펴봐야한다.
  • 산출 타입으로 표현할 수 없는 값이 산출되었을 경우, 오버플로우가 발생하고 쓰레기값을 얻을 수 있기 때문

NaN과 Infinity 연산

  • 좌측 피연산자가 정수 타입인 경우 나누는 수인 우측 피연산자는 0을 사용할 수 없다.

  • 컴파일은 정상적으로 되지만, 실행 시 ArithmeticException(예외)이 발생한다.

  • 실수 타입은 0.0 또는 0.0f로 나누면 ArithmeticException이 발생하지 않고 Infinity(무한대) 값을 가지며 연산의 결과는 NaN(Not a Number)을 가진다.

삼항 연산자

  조건식   ?    값 또는 연산식     :     값 또는 연산식
(피연산자1)   (피연산자2 = true)     (피연산자3 = false)

0개의 댓글