자바의 여러가지 연산자

NOAH·2021년 1월 9일
0
post-thumbnail

항과 연산자

항(operand) :: 연산되는 값
연산자(operator) :: 항을 이용하여 연산하는 기호

항의 개수에 따른 구분

대입연산자(assginment)

변수에 값을 대입하는 연산자.

int age = 24 ; 

연산순위가 가장 낮아, 마지막에 계산 됩니다.

산술연산자

%는 나머지를 구하는 연산자
숫자 n의 나머지의 범위는 0 ~ (n-1)까지 입니다.
특정한 범위 안의 수를 구할 때 종종 사용합니다.

만약에 0 부터 49번까지의 수를 임의로 배정해주고 싶을 때
나머지 연산자를 이용할 수 도 있다.

증가 감소 연산자

증감연산자에서는 연산자가 위치가
변수의 앞에 있느냐, 뒤에 있느냐가 중요합니다.

int num = 10;
System.out.println(++num);
// 출력값은 11,  ++을 연산해준 num 의 값

int num = 10;
System.out.println(num++); 
// 출력값은 10, 먼저 출력을 해준 후 num의 값에 ++을 한다.

관계 연산자

연산의 결과가 True / false 로 반환됩니다.

논리 연산자

단락 회로 평가(Short circuit evaluation)


논리곱(&&)(= 참-참->참)은 두 항이 모두 참일 때만 참
이로 인해 앞의 항이 거짓이라면 뒤의 항은 계산하지 않는다.
num과 i를 출력 해보면 num의 값은 변해 있는데 i의 값은 변해있지 않습니다.

논리합(||)(= 거-거->거),은 두 항 모두 거짓일 때만 결과가 거짓
이로 인해 앞의 항의 결과 값이 참이면 뒤의 항결과는 평가 하지 않는다.
num과 i를 출력 해보면 num의 값은 변해 있는데 i의 값은 변해있지 않습니다.

복합 대입 연산자

조건 연산자


int num = (5 > 3)? 10 : 20; 
// (5 > 3) 이 참이면 10을 실행하고, 거짓이면 20을 실행하라!

비트연산자

** 비트연산자는 정수에서만 사용할 수 있습니다.

int num1 = 5 //  0 0 0 0 0 1 0 1
int num2 = 10 // 0 0 0 0 1 0 1 0
int result = num1 & num2; // 0 0 0 0 0 0 0
System.out.println(rusult);
---------
0
---
int num1 = 5 //  0 0 0 0 0 1 0 1
int num2 = 10 // 0 0 0 0 1 0 1 0
int result = num1 | num2; // 0 0 0 0 1 1 1 1
System.out.println(rusult);
---------
15 // 1+2+4+8
---

int num1 = 5 //  0 0 0 0 0 1 0 1
int num2 = 10 // 0 0 0 0 1 0 1 0
int result = num1 ^ num2; // 0 0 0 0 1 1 1 1
System.out.println(rusult);
---------
15
----------

int num1 = 10 //  0 0 0 0 1 0 1 0
int result = ~num1; // 1 1 1 1 0 1 0 1

int num = 15 ;// 0000 1111
System.out.println(num << 2); 0011 1100
---
60
---

// (num << n)은 num의 값에 2의 n승을 곱하는 결과값 같다.  

복합 대입연산자.

0개의 댓글