자바 연산자

Huey·2023년 7월 9일

java

목록 보기
4/12
post-thumbnail

자바를 배우다 보면 가끔 세미클론을 깜빡하곤 하는데,, 절대로 잊지 맙시다!
자바에게 있어 세미클론 없는 세상은 진짜 아무 의미 없는 코드 남발이니까요.

....

  1. 연산자
    1-1. 연산자란?

    • 프로그램에서 연산을 수행하기 위하여 사용되는 특수기호들

    1-2. 사칙(산술) 연산자

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

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

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

  • 결과

당연히 0으로 나눌 수 없기에 마지막은 에러가 뜹니다.

1-4. 단항연산자

  • 어떤 변수의 값에 대한 계산 결과를 다시 자기 자신에게
    대입하고자 하는 경우의 약식 표현이다.
int x = 100;
x = x + 5;
------------->
int x = 100;
x += 5;
  • 단항 연산자는 모든 사칙 연산에 표현 가능하다.
    -> +=, -=, *=, /=, %=
  • 실습

  • 결과

100에 100을 더하면 200 200에서 50을 빼면 150 150에 2를 곱하면 300 300을 100으로 나누면 3 3을 2로 나눈 나머지는 1

1-5. 증감 연산자

  • 단항 연산자로 표현할 수 있는 식에서 계산 대상 값이 1인 경우,
    덧셈과 뺄셈에 대해서는 다시 한번 축약할 수 있다.
  • 덧셈의 경우
    x = x+ 1;
    x += 1;
    x++;
    ++x;
  • 뺄셈의 경우
    x = x -1;
    x -= 1;
    x--;
    --x;
  • 실습

  • 결과

plus_num은 1 거기에 1을 더하고 plus_num += 1은 거기에 1을 더한 값이니 3, 거기에 plus_num++와 ++plus_num은 역시 다 1을 더하니 값은 5가 나온다.

그 결과를 반대로 한 것이 두번째 코드, 5에서 1을 네번 빼서 1이 나온다.

1-6. x++와 ++x의 차이

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

1-7. 비교연산자

  • 같다, 다르다, 크다(초과), 크거나 같다(이상), 작다(미만),
    작거나 같다(이하)에 대한 비교를 수행하는 연산자
같다		==
다르다		!=
크다		>
크거나 같다	>=
작다		<
작거나 같다	<=
  • 주어진 식이 참인지 거짓인지 판별 가능하므로, 연산 결과는
    boolean 값으로 생성된다.
int x = 100;
int y = 1;
boolean r = x 비교연산자 y;
  • 실습
  • 결과

1-8. 논리 연산자

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

-실습

-결과

0개의 댓글