연산자(Operator)

Kong-al·2022년 8월 7일

0804 2일차 수업정리

연산자

연산자란 , 프로그램에서 연산을 수행하기 위하여 사용되는 특수기호들을 의미한다.

연산자의 종류

  • 대입연산자
    • 변수에 숫자나 문자열등의 자료를 입력하거나 연산 결과를 다른 변수에 할당한다.
  • 사칙연산자
    • 더하기(+), 빼기(-), 곱하기(*), 나눗셈의 몫(/), 나머지(%)
  • 단항연산자
    • 변수에 대한 연산 결과를 다시 자기 자신에게 적용하는 경우 사용한다.
  • 증감연산자
    • 특정 변수에 저장되어 있는 값을 1씩 증가, 감소 시킬경우 사용한다 .
  • 비교연산자
    • 두 개의 변수값 간의 관계를 비교하여 참, 거짓의 결과를 반환한다.
  • 논리연산자
    • 좌변과 우변을 논리연산하고, 참일때는 true, 거짓일때는 false값을 반환한다.

사칙연산자

일반적으로 사용하는 사칙연산으로 나눗셈을 제외한 나머지는 수학적의미와 똑같이 사용할 수 있다.
사칙 연산의 결과는 대입연산자를 통하여 다른 변수에 대입될 수 있으며 정수와 실수의 연산시에는 정수가 실수형태로 명시적 형변환되어 결과는 실수가 된다.

'+' , '-' , '*' , '/' , '%'

나눗셈의 주의사항

수학에서는 한번의 나눗셈으로 몫과 나머지를 한번에 표기할 수 있지만 프로그래밍에서는 나눗셈에 대해 두가지의 연산자를 이용해 몫과 나머지를 구분한다.

  • /
    • [ / ]은 몫을 의미한다.
    10 / 3 = 3
    
  • %
    -[%]는 나머지를 의미한다
    10 % 3 = 1
  • 프로그램에서의 연산은 2진수로 변환되어 이루어진다. 따라서 실수는 2진수로 변환이 되지 않기때문에 실수의 나눗셈은 오차가 발생한다.
  • 모든 수는 0으로 나눌 수 없다.

단항연산자

단항 연산자는 어떤 변수의 값에 대한 결과를 다시 자기 자신에게 대입하는 경우의 약식 표현이다.

int i = 100;
i = i + 5;

라고 했을 때 , 우리는

i = i + 5;

i 라는 변수에 자신을 포함해 사칙연산한 값을 다시 i에 대입하고 있으므로 이 식을 단항연산자인

i += 5;

로 표기할 수 있다.

  • 단항연산자는 모든 사직연산자에 표현이 가능하다.

    +=, -=, *=, /=, %=

증감연산자

단항연산자로 표현할 수 있는 식에서 계산 대상의 값이 1인경우, 덧셈과 뺄셈에 대해서는 한번 더 축약할 수 있다.

덧셈

x = x + 1;
x += 1;
x++;
++x;

뺄셈

x = x - 1;
x -= 1;
x--;
--x;

"x++"와 "++x"의 차이

증감연산자의 표시 위치에 따라 결과가 서로 다르게 적용된다.

  • x++

    증감연산자가 뒤에 표시되는 경우, 현재 x값을 먼저 수식에 적용하고, 나중에 x에 대한 1 증가를 처리한다.

    int a = 100;
     int x = 1;
     int y = a + x++;

    일 때, y = a + 1;이 먼저 계산된다.
    y에 101이라는 값이 대입 된 후에 x++가 계산 되기 때문에 결과는

    y = 101;
     x = 2;

    가 된다.

  • ++x
    증감연산자가 앞에 표시되는 경우, 현재 x의 값을 1 증가시킨 후, 그 결과를 수식에 적용한다.

    int a = 100;
    int x = 1;
    int y = a + ++x;

    일 때 , ++x가 2로 먼저 계산된다.

    y = 102;
     x = 2;

비교연산자

비교 연산자란 주어진 식이 참인지 거짓인지 판별하는것으로 결과는 boolean으로 나타낸다.

같다(==), 다르다(!=), 초과(>), 이상(>=), 미만(<), 이하(<=)

논리연산자

두개 이상의 비교연산자의 결과나 boolean값에 대해 추가로 'and'나'or' 연산을 수행하여 결과를 얻는다.

AND (&&),OR(||)

AND (&&)

  • "&&"연산자는 두 개의 boolean값을 비교하여 모두 true 인 경우만 결과값이 true가 된다.

OR(||)

  • "||"연산자는 두개의 boolean값을 비교하여 둘 중 하나만 ture인 경우에 결과값이 true가 된다.
profile
웹개발 공부중!(❁´◡`❁)

0개의 댓글