연산자 2023. 4. 9. 18:55

namin0_0·2023년 5월 29일
0

항 operand

  • 연산에 사용되는 값

연산자 operaor

  • 프로그램에서 여러가지 연산자가 사용되고 있다

  • 항을 이용하여 연산하는 기호

1 + 2 = ? 일 때,

1,2 = 항

+,= = 연산자

항의 개수에 따른 연산자 구분

  • 단항 연산자 : 항이 한 개인 연산자

  • 이항 연산자 : 항이 두 개인 연산자(가장 많이 씀)

  • 삼항 연산자 : 항이 세 개인 연산자

대입 연산자

  • = (이퀄)

  • 프로그램에서는 어싸인먼트(assignment)라고 한다

  • 값을 대입해주는 연산자

  • 어싸인먼트를 중심으로 왼쪽이 lvalue(=leftValue) 오른쪽을 rvalue(rightvalue) 라고 한다,

  • rvalue의 값을 lvalue에 대입해주는 연산자이다.

  • 대입연산자는 우선순위가 가장 낮은 연산자이다.(마지막에 연산된다)

부호 연산자

  • +,-

  • 단항 연산자

  • 변수나 상수의 값을 양수, 음수로 만들어 주는 연산자.

-변수에 +,-를 사용한다고 해서 변수의 값이 변하는 것은 아니다, 변수의 값을 변경하려면 대입연산자를 사용해야 한다.

산술 연산자

  • 더하기(+), 빼기(-), 곱하기(*), 나누기(/), 나머지(%)

  • %는 나머지를 구하는 연산자로 특정 범위 안의 수를 구할 떄 종종 사용한다.

  • ex) 숫자 n의 나머지

= 0 ~ n-1까지 범위의 수

증가 감소 연산자

  • 단항 연산자

  • ++, --

  • 1만큼 더하거나(++) 1만큼 뺄 때(--) 사용하는 연산자

  • 앞에쓰냐 뒤에쓰냐에 따라 값이 달라진다.

  • ex1) val = ++num;

먼저 num 값이 1 증가한 후 val 변수에 대입

  • ex2) val = num++;

val 변수에 기존 num값을 먼저 대입한 후 val 변수에 대입

관계 연산자

  • 뭐가 더 크냐 작냐

  • 이항 연산자

  • 연산의 결과가 true(참) or false(거짓)으로 나온다.

  • 왼쪽 항이 크면 참, 아니면 거짓

  • < 왼쪽 항이 작으면 참, 아니면 거짓

  • = 왼쪽 항이 오른쪽 항보다 크거나 같으면 참, 아니면 거짓

  • <= 왼쪽 항이 오른쪽 항보다 작거나 같으면 참, 아니면 거짓

  • == 두 개의 항 값이 같으면 참, 아니면 거짓

  • != 두 개 항이 다르면 참, 아니면 거짓

논리 연산자

  • 관계 연산자와 혼합하여 많이 사용하는 연산자

  • 연산의 결과가 true(참), false(거짓)으로 반환된다.

  • && (논리 곱)

    : 두 항이 모두 true인 경우만 true, 아닌 경우는 거짓

  • || (논리 합)

    : 두 항 중 하나의 항만 true여도 true, 두 항이 모두 거짓이면 거짓

  • ! (부정)

    : 단항 연산자.

    true인 경우는 false로 바꾸고, false인 경우는 true로 변경

  • 단락 회로 평가(short circuit evaluation)

    : 논리 곱(&&)는 두 항이 모두 true 일 때만 결과가 true

    -> 앞의 항이 false면 뒤 항의 결과를 평가하지 않아도 false이다.

    || (논리 합)은 두 항이 모두 false 알 때만 결과가 false

    -> 앞의 항이 true면 뒤 항의 결과를 평가하지 않아도 true이다.

= 단락 회로 평가에서 평가하지 않는다는 말은 실행되지 않는다는 말이다.

복합 대입 연산자

  • 프로그램에서 많이 쓰는 연산자

  • 대입 연산자와 다른 연산자를 함께 사용하는것

  • += : 두 항의 값을 더해서 왼쪽 항에 대입

  • -= : 왼쪽 항에서 오른쪽 항을 빼서 그 값을 왼쪽 항에 대입

  • *= : 두 항의 값을 곱해서 왼쪽 항에 대입

  • /= : 왼쪽 항을 오른쪽 항으로 나누어 그 몫을 왼쪽 항에 대입=

  • %= : 왼쪽 항을 오른쪽 항으로 나누어 그 나머지를 왼쪽 항에 대입

조건 연산자

  • 3항 연산자

  • 조건의 결과가 true(참)인 경우와 false(거짓)인 경우에 따라 다른 식이나 결과가 수행된다.

  • 제어문 중 조건문을 간단히 표현 할 때 사용할 수 있음

  • 조건식 ? 결과1 : 결과2;

    : 조건의 결과가 참이면 결과1을 수행, 조건의 결과가 거짓이면 결과2를 수행

비트 연산자

  • 각 하나의 비트별로 연산하는 연산자

  • 자바에서 많이 쓰이진 않음

  • 비트 연산자는 정수에만 사용 할 수 있다.

  • ~ : 비트의 반전 (1의 보수를 구할 때 씀)

  • & : 비트 단위 AND (비트가 둘 다 1인 경우만 1, 둘중 하나라도 0인 경우 0)

  • l : 비트 단위 OR (둘 중에 한 비트라도 1이 있으면 1, 그 외는 0)

-^ : 비트 단위 XOR (두 비트가 같은 경우는 0 다른경우는 1)

  • << : 왼쪽 shift (a<<2 : 변수 a를 2비트 만큼 왼쪽으로 이동)

  • : 오른쪽 shift (a>>2 : 변수 a를 2비트 만큼 오른쪽으로 이동)

  • : 오른쪽 shift (>>동일한 연산, 채워지는 비트가 부호와 상관없이 0)

  • 마스크 : 특정 비트들은 가리고 몇 개의 비트들의 값만 사용 할 때
profile
갓생살기프로젝트

0개의 댓글