연산자

김현·2023년 7월 10일

자바

목록 보기
4/31

1. 연산자란?

  • 프로그램에서 연산을 수행하기 위하여 사용되는 특수 기호들
  • = : 대입연산자, == : 같은 값

2. 사칙연산자

  • 일반적으로 덧셈+, 뺄셈-, 곱셈*, 나눗셈/,%을 수행
  • 사칙연산의 결과는 대입연산자를 통하여 다른 변수에 대입됨
  • 정수(byte, short, int, long)와 실수(float, double)의 연산시에는 정수가 실수 형태로 자동 변환되어 처리되기 때문에 결과는 실수가 된다.

3. 나눗셈에 있어서의 주의사항

  • 10 나누기 3을 계산할 때, 수학에서는 몫 3, 나머지 1이라고 계산되어지지만, java에서는 나눗셈에 대해 두 개의 연산자로 구분됨
    -> 10/3 : 나눗셈의 몫만을 취하여 결과값은 3
    -> 10%3 : 나눗셈의 나머지만을 취하여 결과값은 1
  • 모든 수는 0으로 나눌 수 없다.

4. 단항연산자

  • 어떤 변수의 값에 대한 계산 결과를 다시 자기 자신에게 대입하고자 하는 경우의 약식 표현
    int x = 100;
    x = x + 5;
    == 위아래 같은 표현
    int x = 100;
    x += 5;

  • 단항연산자는 모든 사칙 연산에 표현 가능
    -> +=, -=, *=, /=, %=

5. 증감연산자

  • 단항 연산자로 표현할 수 있는 식에서 계산 대상 값이 1인 경우, 덧셈과 뺄셈에 대해서는 다시 한번 축약할 수 있음(단항연산자이며 덧셈과 뺄셈인 것만 가능)

  • 덧셈의 경우
    x = x + 1;
    x += 1;
    x++;
    ++x;

  • 뺄셈의 경우
    x = x - 1;
    x -= 1;
    x--;
    --x;

6. x++, ++x 의 차이

  • 증감 연산자는 그 자체가 다른 연산식의 피연산자로 사용될 수 있다, 이때 증감연산자의 표시 위치에 따라 결과가 다르게 적용됨
  • x++
    -> 증감연산자가 뒤에 표시되는 경우, 현재 x의 값을 먼저 수식에 적용하고, 나중에 x에 대한 1증가를 처리
    int a = 100;
    int x = 1;
    int y = a + x++;
    y = 100 + 1(x) = 101
    -> x = 1 + 1(추가된 1) = 2
    -> y = 100 + 2(x) = 102
  • ++x
    -> 증감연산자가 앞에 표시되는 경우, 먼저 현재 x의 값을 1 증가시킨 후, 그 결과를 수식에 적용
    int a = 100;
    int x = 1;
    int y = a + ++x;
    x = 1 + 1(추가된 1) = 2
    y = 100 + 2(x)

7. 비교연산자

  • 같다, 다르다, 크다(초과), 크거나 같다(이상), 작다(미만), 작거나 같다(이하)에 대한 비교를 수행

    	같다			==
    	다르다		!=
    	크다			>
    	크거나같다	>=
    	작다			<
    	작거나같다	<=
  • 주어진 식이 참인지 거짓인지 판별 가능하므로, 연산 결과는 boolean 값으로 생성
    int x = 100;
    int y = 1;
    boolean r = x 비교연산자 y;

8. 논리연산자

  • 두 개 이상의 비교 연산자의 결과나 boolean 값에 대해 추가로 "AND" 나 "OR" 연산을 수행하여 결과를 얻음
  • AND의 의미를 갖는 &&
    -> && 연산자는 두 개의 boolean 값을 비교하여 모두 true인 경우만 결과값이 true이다.
  • OR의 의미를 갖는 ||
    -> || 연산자는 두 개의 boolean 값을 비교하여 둘 중 하나라도 true인 경우 결과가 true이다.

9. 삼항연산자

  • 단순한 if문일 경우 라인수를 획기적으로 줄여주는 방식이 삼항 연산자이다.

복습

  • 사칙연산자
1) num1과 num2를 int로 선언하고 각각 12와 8을 할당한다.

2) result1을 int로 선언하고 둘의 합을 할당한다.

3) 출력을 num1 + num2와 result1을 하고 결과가 같다는 것을 확인할 수 있다.


1) 위와 같이 각각 result를 선언해주고 출력한다.

2) 출력을 하고 각 식에 대한 결과가 잘나온 것을 확인할 수 있다.
( / : 몫, % : 나머지)



1) num3를 int로 선언하고 100을 할당한다.

2) zero를 int로 선언하고 0을 할당한다.

3) num3를 zero로 나누면 zero가 0이기에 에러가 나는 것을 확인할 수 있다.

4) 출력에서도 에러가 나는 것을 확인할 수 있다.

  • 단항연산자

    1) source를 int로 선언하고 100의 값을 할당한다.

2) 각각의 식을 넣고 결과를 출력한다.


  • 증감연산자

    1) plus_num을 int로 선언하고 1을 할당한다.

2) 단항연산자까지 진행될 경우 plus_num에는 3이 할당되어 있고 뒤에 ++가 있기에 3+1이 되어 4가 된다.

3) 앞에 ++가 있기에 1에 plus_num를 더하여 5가 된다.


1) minus_num를 int로 선언하고 5를 할당한다.

2) 단항연산자까지 진행될 경우 minus_num에는 3이 할당되어 있고 뒤에 --가 붙었기에 3-1이 되어 2가 된다.

3)

0개의 댓글