Java 개념 정리2 (연산자)

김찬미·2023년 3월 16일

Java

목록 보기
7/20

<연산자>

연산자 : 연산 기능이 있는 문자

  1. 최고연산자 : . ()
  2. 증감연산자 : ++, --
  3. 산술연산자 : +,-,*,/(몫을 구하는 연산자),%(모듈러, 나머지를 구하는 연산자)
  4. 시프트 연산자 : >>, <<, >>>
  5. 비교연산자 : >,<,>=,<=,==(같다),!=(같지 않다)
  6. 비트연산자 : &, |, ^, ~
  7. 논리연산자 : &&, ||, !
  8. 삼항(조건)연산자 : ?, :
  9. 대입연산자 : =, +=, -=, *=, /=, %=

산술연산자

산술연산자는 사칙연산(=,-,*,/)나머지를 구하는 연산자(%)로 나뉜다.

int n1, n2, n3;

n1 = 20;
n2 = 7;

n3 = n1 + n2;
System.out.println("n3의 값 : " + n3); // 27

n3 = n1 - n2;
System.out.println("n3의 값 : " + n3); // 13

n3 = n1/n2;
System.out.println("n3의 값 : " + n3); // 2

n3 = n1%n2;
System.out.println("n3의 값 : " + n3); // 6

대입연산자

우변에 있는 값을 좌변에 대입한다, 라는 점을 잊지 말자!

int n1 = 10;
int n2 = 7;

복합대입연산자 : 산술연산자와 대입연산자가 합쳐진 형태(+=, -=, =, /=, %=)
System.out.println("+=연산자 : n1 += n2 : " + (n1+=n2)); // 17
System.out.println("-=연산자 : n1 -= n2 : " + (n1-=n2)); // 10
System.out.println("
=연산자 : n1 = n2 : " + (n1=n2)); // 70
System.out.println("/=연산자 : n1 /= n2 : " + (n1/=n2)); // 10
System.out.println("%=연산자 : n1 %= n2 : " + (n1%=n2)); // 3

대입연산자는 변수 안의 값을 바꾸기 때문에 일반 연산자와 달리 나중에 발생하는 연산에도 영향을 끼친다.

비교연산자

두 수의 값을 비교할 때 사용하는 연산자
비교한 결과를 논리형 데이터(true, false)로 반환한다.

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

boolean result;
result = n1 < n2;
System.out.println(result); // 결과: false

논리연산자

비교연산자를 통한 연산이 2개 이상 필요할 때 사용한다.
&&(AND), ||(OR), !(NOT)
연산 결과를 논리형 데이터로 반환한다.

&&(AND)
두 개 다 참이어야 참을 반환, 나머지는 다 False

||(OR)
둘 중 하나라도 참이면 참을 반환

!(NOT)
연산 결과를 거꾸로 만듬
ex) True -> False

비트연산자

&, |, ^, ~

논리연산자와 유사하지만 bit 단위 (2진수)의 연산만 가능하다.
일반적으로 암호화, 복호화 작업에 사용된다.

증감 연산자

1씩 증가시키거나 1씩 감소시켜주는 연산자
++, --

선행증감 : 변수의 앞에서 사용된다.
a = 10;
System.out.println("++a : " + ++a); // 결과 : 11

후행증감 : 변수의 뒤에서 사용된다.
b = 10;
System.out.println("b++ : " + b++); // 결과: 10
System.out.println("b : " + b); // 결과: 11
이와 같이 1을 더해주되, 다음 번에 다시 한 번 사용될 때 적용한다.

삼항연산자

하나의 조건을 정의하여, 조건이 참일 때 반환할 명령, 조건이 거짓일 때 반환할 명령을 얻어내기 위한 연산자이다.

int a = 10;
int b = 15;

boolean result = ++a >= b ? true : false;
System.out.println("result : " + result); // 결과: false

char result2 = ++a >= b ? 'O' : 'X';
System.out.println("result2 : " + result2); // 결과: X

int result3 = ++a >= b ? 1 : 0;
System.out.println("result3 : " + result3); // 결과: 0

profile
백엔드 지망 학부생

0개의 댓글