728x90
  • 연산자란 연산을 수행하는 기호를 뜻한다. 연산자가 연산을 수행하기 위해선 대상이 필요한데 이것을 피연산자라 한다.
  • 연산자의 대표적인 종류
    • 산술 연산자(사칙연산과 나머지 연산(%))
    • 비교 연산자(크고 작음과 같고 다름을 비교)
    • 논리연산자("그리고(AND)"와 "또는(OR)"으로 조건을 연결)
    • 대입 연산자(우변의 값을 좌변에 저장)
  • 증감연산자의 경우 전위형과 후위형이 있는데 값이 참조되기 전에 변경하면 전위형, 참조된 후 변경하면 후위형
  • 형변환이란 변수나 리터럴의 타입을 다른 타입으로 변환하는 것을 뜻하며 일부 형변환의 경우 값이 손실, 변경될 수 도 있다.
  • 형변환이 생략되었을 경우 컴파일러가 생략된 형변환을 자동으로 추가해 주는데 이 과정에서 값 손실이 발생할 경우 에러가 발생한다. 하지만 에러가 발생한 코드에 명시적으로 형변환을 해준경우 에러가 발생하지 않는다.
  • 사칙연산에서 나눗셈의 경우 int와 int의 연산결과는 int로 나온다.
    소수점 이하는 버려지므로 소수점 이하의 값까지 필요한 경우 피연산자 중 하나 이상은 실수형의 값이어야한다.
  • int a = 1,000,000; int b = 2,000,000; long c= a * b 에서 a*b의 값인 2 * 10^12 가 long 인 c에 담길 것 같지만 int * int 의 결과 데이터 타입은 int 이기 때문에 오버플로우가 발생한 -1,454,759,936 이 저장된다.
    이 현상을 방지하기 위해선 long c = (long) a * b 와 같이 명시적 형변환을 통해 결과 값의 타입을 고려해줘야 한다.

+ Recent posts