연산자 (단항 / 이항 / 삼항)

  • 단항
    • 부호연산자 (+, -)
    • 증감연산자 (++, --)
    • 논리 부정 연산자 (!)
    • 비트 반전 연산자 (~)
  • 이항
    • 산술연산자 (+, -, *, /, %)
    • 문자열 연결 연산자 (+)
    • 대입연산자
    • 비교연산자
    • 논리연산자 (&, &&, |, ||)
      • &&은 앞의 연산 결과가 false라면 바로 false 리턴, &은 앞의 연산 결과 false라도 뒤의 연산 평가
      • ||은 앞의 연산 결과가 true라면 바로 true 리턴, |은 앞의 연산 결과 true라도 뒤의 연산 평가
      • &&, ||이 &, |보다는 효율적이지만, 때에 따라 &, | 가 사용되어야 하는 경우 존재 
    • 비트연산자 (&, |, ^)
    • 쉬프트연산자 (<<. >>, >>>)
      • >> 하면 MSB가 부호 비트로 채워지고, >>>하면 MSB가 무조건 0으로 채워진다
  • 삼항
    • 조건연산자 (조건?참:거짓)

 

추가적으로 알아둬야 할 사항

  • 부호연산자 사용할 때 주의할 점은 부호 연산자의 산출타입은 int타입이 된다는 것 (byte, char, short 경우에)
  • 정수의 산술 연산은 무조건 int타입으로 변환 후 수행
  • 정확한 계산을 해야하는 경우 정수형 타입의 변수만 사용 (실수형은 부동소수점을 사용하기 때문에 부정확)
  • NaN, Infinity 연산결과가 나와도 에러 메시지는 없다. 이 값을 이용해 연산을 수행할 경우 결과 역시 NaN, Infinity
  • 0.1 == 0.1f 하면 false 나온다 (부동소수점 때문에)
  • 비트연산자는 정수형에 대해서만 사용 가능

'다전공_컴퓨터공학 > C, JAVA, PYTHON' 카테고리의 다른 글

[JAVA] 6장 클래스  (0) 2021.01.14
[Python] nonlocal  (0) 2021.01.08
[JAVA] 2장 변수와 타입  (0) 2021.01.05
[C] struct, union  (0) 2020.12.03
[C] volatile  (0) 2020.12.01

+ Recent posts