일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Python
- CSS
- 욕실
- 다빈치
- samsung
- Davinci
- 리졸브
- 태그
- 다빈치 리졸브
- HTML
- 인공지능
- 애플
- naver
- DIY
- tag
- 영상편집
- 종류
- 삼성
- 파이썬
- java
- 갤럭시
- Galaxy
- Davinci Resolve
- RESOLVE
- 세면대
- 자가설치
- C언어
- 분해
- Apple
- 안드로이드
- Today
- Total
IT 세상 해석하기
[JAVA] 연산자 정리 본문
[JAVA] 연산자 정리
By i!kohong(아이코홍)
종류 | 설명 | 연산자 |
단항 연산자 | 변수 하나에 붙이는 연산자 | ++, --, +, -, !(타입) |
산술 연산자 | 숫자 연산 / 시프트 연산 | *, /, % |
+ , - | ||
<<,>>,>>> | ||
비교 연산자 | 부등호 연산 | <,>,<=,>=,instance of |
같다 / 다르다 연산 | ==, != | |
논리 연산자 | AND / OR | &, ^, |, &&, || |
삼항 연산자 | 간단한 제어 처리 | ?, ; |
할당 연산자 | 연산의 결과를 담을 떄 사용 | = |
■ 산술 연산자
+ [더하기]
- [빼기]
* [곱하기]
/ [나누기]
% [나머지] 예시> 10 % 4 = 나머지 2
■ 자동증감 연산자
-> 별도의 연산 결과를 처리하지 않는 연산자를 의미
++x | 변수를 사용하기 전(before) 증가를 먼저 시도한다. 해당 변수의 값을 증가시키고 나머지 연산을 실행 |
int x = 10 ++x = 11 |
--x | 변수를 사용하기 전(before) 감소를 먼저 시도한다. 해당 변수의 값을 감소시키고 나머지 연산을 실행 |
int x = 10 ++x = 11 |
x++ | 변수를 사용하고 난 후(after) 증가를 시도한다. 해당 변수의 값을 연산하고 난뒤에 값을 증가시킴 |
int x = 10 x++ = 10 x = 11 |
x-- | 변수를 사용하고 난 후(after) 감소를 시도한다. 해당 변수의 값을 연산하고 난뒤에 값을 감소시킴 |
int x = 10 x-- = 10 x = 9 |
예시
int x = 5;
int y = 10;
int z = x+++ ++x + y++;
z의 값을 구하려면?
풀이
▶ x++(1)+(2) ++x(3) +(4) y++(5)
(1) x++ 값은 5가 된뒤에 1값이 증가하여, 6의 값이 된다.
(2) 6의 값과 ++x값을 더한다.
(3) ++x의 값은 1값을 먼저 증가된 뒤에 연산이 되므로 7의 값으로 적용된다.
(4) 7의 값과 y++값을 더한다.
(5) y++의 값은 10이 된 뒤에 1의 값이 증가하는 관계이지만 뒤에 연산할 값이 없으므로 10으로 남는다.
따라서 5 + 7 + 10이므로 22의 값이 적용된다.
■ 동등 비교(Equality) 및 관계(Relational) 연산자
x > y | x값이 y값보다 크다. |
x < y | x값이 y값보다 작다. |
x >= y | x값이 y값보다 크거나 같다. |
x <= y | x값이 y값보다 작거나 같다. |
x == y | x 와 y 변수의 내용물이 같으면 true를 반환한다. |
x != y | x 와 y 변수의 내용물이 같지 않으면 (NOT) true를 반환한다. |
■ 비트 연산자
컴퓨터가 쉽게 이해하는 연산 기호.
개발자가 직접 비트(bit)를 조작하면 연산이 빨라진다는 장점이 있음
| (OR) | 양쪽 데이터의 비트의 값을 OR 조건으로 따져서 한쪽 bit가 1이면 무조건 1의 결과를 낸다. |
& (AND) | 양쪽의 비트가 모두 1이면 1이고, 아니면 0의 결과를 낸다. |
^ (XOR) | 양쪽의 비트가 서로 다른 비트면 1이고, 아니면 0의 결과를 낸다. |
예시
int x = 10;
int y = 7;
1. x|y
2⁷ |
2⁶ |
2⁵ |
2⁴ |
2³ |
2² |
2¹ |
2⁰ |
|
10진수 3 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
10진수 2 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
10 | 7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
값 : 2
■ 논리 연산자
'제어문'에서 여러 개의 조건을 검사하기 위해 사용
기호 | 설명 |
&& (AND) | 'X && Y' → X 와 Y 조건 둘다 'true'인 경우에 'true'로 판단함 |
|| (OR) | 'X || Y' → X 또는 Y 둘중 하나라도 'true'면 'true'로 판단함. 만일 앞이 true면 뒤는 검사를 하지 않음 |
■ 삼항 연산자
'?'을 이용해서 표현을 하며, if ~else구문과 같은 의미라고 생각을 하면 된다.
예시
int a = 10;
char c;
a == 10? 'O' : 'X';
System.out.println(c);
※ a의 값이 10이면 O, a의 값이 10이 아니면 X가 표시가 된다.
■ 할당 연산자
'할당'이라는 확실한 의미가 있는 연산자. JAVA에서 변수처리는 데이터를 복사한다는 개념만 있음
할당 연산자는 연산자 응용을 통해 좀더 간결한 소스 코드를 만들수 있다. (+=, -=)
예시
int x = 10;
※ x 상자안에 10이라는 데이터를 할당합니다.
int x = y;
※ x 상자안에 y안에 있는 데이터를 꺼내 복사(Copy)해서 할당을 한다.
a += 100
※ a = a + 100이라는 코드를 줄여서 표현
a -= 100
※ a = a - 100이라는 코드를 줄여서 표현
'프로그래머 공간 > JAVA' 카테고리의 다른 글
[Java] 할당연산자(=) (0) | 2019.11.30 |
---|---|
[JAVA] 변수 타입(Type) (0) | 2019.11.29 |
[JAVA] 변수 선언 (0) | 2019.11.29 |
[Java] 10진수 16진수 변환방법(Feat. RGB) (0) | 2019.11.24 |
[JAVA] CMD(명령 프롬프트)로 컴파일(javac) 및 Java실행하기 (0) | 2019.11.24 |