[ Java ] 02. 여러 가지 연산자 ( operator )
📚 Table of Contents
01. 여러가지 연산자
- 프로그램에서 데이터를 처리하여 결과를 산출하는 것을 연산(operation)이라 한다.
- 연산에 사용되는 표시나 기호를 연산자(operator)라고 한다.
- 연산되는 데이터는 피연산자(operand)라고 한다.
예) 산술연산 +, -, *, /, %
항과 연산자
- 단항 연산자 : 항이 1개 / num--
- 이항 연산자 : 항이 2개 / 1 + 1
- 삼항 연산자 : 항이 3개 ? (1 > 0) ? 1:0
대입 연산자, 복합 대입 연산자
특정한 상수 값이나 변수 값 또는 객체를 변수에 전달하여 기억시킬 때 사용하는 연산자이다.
int num = 1000;
대입 연산자와 다른 연산자를 조합한 연산자
구분 | 연산자 | 설명 |
---|---|---|
대입 연산자 | = | 연산자를 중심으로 오른쪽 변수값을 왼쪽 변수에 대입한다. |
+= | 왼쪽 변수에 더하면서 대입한다. | |
-= | 왼쪽 변수값에서 빼면서 대입한다. | |
*= | 왼쪽 변수에 곱하면서 대입한다. | |
/= | 왼쪽 변수에 나누면서 대입한다. | |
%= | 왼쪽 변수에 나머지 값을 구하면서 대입한다. |
산술 연산자
가장 기본이 되는 연산자로 4칙 연산(+, -, *, /)과 나머지 값을 구하는 나머지 연산자(%)가 있다.
구분 | 연산자 | 설명 |
---|---|---|
산술 연산자 | + | 두 수에 대한 덧셈 |
- | 두 수에 대한 뺄셈 | |
* | 두 수에 대한 곱셈 | |
/ | 두 수에 대한 몫을 반환 | |
% | 두 수를 나눈 후 그 나머지를 반환한다. |
증감 연산자
증감연산자는 피연산자의 값을 1씩 증가 또는 감소시키는 연산자이다. 증감 연산자가 변수 앞에 위치하느냐 변수 뒤에 위치하느냐에 따라 결과 값이 달라진다.
구분 | 연산자 | 설명 |
---|---|---|
증감 연산자 | x++ | 먼저 해당 연산을 수행한 후 피연산자의 값을 1증가 시킴 |
++x | 먼저 피연산자의 값을 1증가 시킨 후 해당 연산을 수행함 | |
x-- | 먼저 해당 연산을 수행한 후 피연산자의 값을 1감소 시킴 | |
--x | 먼저 피연산자의 값을 1감소 시킨 후 해당 연산을 수행함 |
관계 연사자
변수나 상수의 값을 비교할 때 쓰이는 연산자로서 결과가 항상 true 또는 false인 논리값(boolean)이어야 한다.
구분 | 연산자 | 설명 |
---|---|---|
비교 연산자 | > | 크다 |
< | 작다 | |
>= | 크거나 같다 | |
<= | 작거나 같다 | |
== | 피연산자들의 값이 같다 | |
!= | 피연산자들의 값이 같지 않다 |
논리 연산자
논리 연산자는 피연산자의 값이 true나 false인 논리 값을 가지고 다시 한번 조건 연산하는 연산자이다.
논리 연산자의 종류(1)
연산자 | 의미 | 설명 |
---|---|---|
& | and (논리곱) | 주어진 조건들이 모두 true일 때만 true를 나타낸다. |
| | or (논리합) | 주어진 조건들 중 하나라도 true이면 true를 나타낸다. |
! | not (부정) | true는 false로 false는 true로 나타낸다. |
논리 연산자의 종류(2)
구분 | 설명 |
---|---|
&& | 선조건이 true일 때만 후조건을 실행하며 선조건이 false이면 후조건을 실행하지 않는다. |
|| | 선조건이 true이면 후조건을 실행하지 않으며 선조건이 false일 때만 후조건을 실행한다. |
2진수, 8진수, 16진수
컴퓨터에서 데이터 표현을 위해 사용한다.
java.lang.Integer의 toBinaryString(), toOctalString(), toHexaString() 메서드를 이용하여
10진수를 2진수, 8진수, 16진수 문자열로 변환할 수 있습니다.
리턴 타입 | 클래스 | 메소드 | 설명 |
---|---|---|---|
static String | java.lang.Integer | toBinaryString(int i) | 10진수 -> 2진수 |
static String | java.lang.Integer | toOctalString(int i) | 10진수 -> 8진수 |
static String | java.lang.Integer | toHexaString(int i) | 10진수 -> 16진수 |
int num = 10;
String binary = Integer.toBinaryString(num); // 10진수 -> 2진수
String octal = Integer.toOctalString(num); // 10진수 -> 8진수
String hexaDecimal = Integer.toHexString(num); // 10진수 -> 16진수
결과
10진수 : 10
2진수 : 1010
8진수 : 12
16진수 : a
2의 보수
2의 보수는 1의 보수에 1을 더하는 것이다.
비트 연산자
피연산자 즉 연산의 대상이 되는 값들을 내부적으로 bit단위로 변경한 후 연산을 수행하는 연산자이다.
구분 | 연산자 | 설명 |
---|---|---|
비트 연산자 | & | 비트 단위의 AND |
| | 비트 단위의 OR | |
^ | XOR (배타적 OR) | |
~ | 단항 연산자 이며, 비트를 반전한다. 0은 1로 1은 0으로 만듬 |
비트 이동 연산자
시프트 연산자는 bit단위의 연산처리를 하며 자료의 가공을 위해 오른쪽 또는 왼쪽으로 이동하여 값에 대한 변화를 일으키는 연산자입니다.
구분 | 연산자 | 설명 |
---|---|---|
시프트 연산자 | >> | bit값을 오른쪽으로 이동 (빈 자리는 부호값으로 대입) 한다. |
<< | bit값을 왼쪽으로 이동 (빈 자리는 0으로 대입) 한다. | |
>>> | bit값을 오른쪽으로 이동 (빈 자리는 0으로 대입) 한다. |
'Language > Java' 카테고리의 다른 글
[ Java ] 06. 클래스 ( class ) 와 객체 (5) | 2023.11.09 |
---|---|
[ Java ] 05. 다차원 배열 ( multi-dimensional array ) (1) | 2023.11.09 |
[ Java ] 04. 반복문 ( iteration statements ) (0) | 2023.11.09 |
[ Java ] 03. 조건문 ( control flow statements ) (0) | 2023.11.09 |
[ Java ] 01. 변수 ( variable ) 와 자료형 (2) | 2023.11.08 |