일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Java
- 계산기
- 동적 버튼 onclick
- 객체
- 동적 데이터
- IBatis 게시판
- 변수초기화
- 쓰레드
- 변수
- 연산자
- comparator
- enum
- 조건문
- 고급자바
- Comparable
- 기초
- Thread
- IBatis CRUD
- MAP
- oclick 동적
- 객체지향
- 동적 버튼 생성
- iBatis
- 자바
- io
- ListSort
- 변수선언
- 코딩
- I/O
- 동적 문자열
- Today
- Total
Jun's Blog
[Java] 연산자 본문
연산자
1. 연산자 기본
- 단항 연산자
: ++, --, +, -, ~, !(not), (타입) <- cast연산자
- 이항 연산자
: 산술 연산자
-> +, -, *, /, %, <<, >>, >>>(shift연산자)
: 비교 연산자
-> <, >, <=, >=, ==, !=, instanceof
: 논리 연산자
-> &, |, ^, &&, ||
- 삼항연산자
: __?__ :__
- 대입연산자
: =, op=
2. 연산우선순위
- 단항 > 이항 > 삼항 > 대입
- 산술 > 비교 > 논리 > 대입
3. 증감연산자(++, --) 특징: 자신의 타입
- 증가연산자(++) : 피연산자의 값을 1 증가시킨다.
- 감소연산자(--) : 피연산자의 값을 1 감소시킨다.
4. 부호연산자 ( + , -)
- 기본 자료형 중에 boolean, char를 제외한 나머지 자료형에 사용 가능
5. 비트연환 연산자 (~)
- 정수형과 char 형에만 사용이 가능.
- 피연산자를 2진수로 표현하였을 때 0은 1로 1은 0으로 바꾼다.
10 00001010
~10 11110101 => 1의 보수 = -11
~10+1 11110110 => 2의 보수 = -10
6. 논리부정 연산자 ( ! )
- boolean형에만 사용 가능하다.
- true -> false, false -> true
7. 산술연산자
- 사칙연산자 (+, -, *,/), 나머지 연산자 (%), 쉬프트 연산자(<<,>>,>>>)는 두 개의 피연산자를 취하는 이항연산자이다.
- 이항연산을 할 때는, 두 개의 피연산자 모두 4byte형 보다 작은 경우에는 둘 다 4byte형인 int로 변환하여 연산을 수행한다.
8. 사칙연산자 (+, -, *,/)
- 두 개의 피연산자 중 하나 이상이 4byte형 보다 큰 경우에는 큰 자료형으로 변환 후 연산
: int + float => float + float -> float
- 두 개의 피연산자 모두 4byte형 보다 작은 경우에는 둘 다 int형으로 변환 후 연산
: byte + short -> int + int
- 정수형 간의 나눗셈에서 0으로 나누는 것은 금지
9. 쉬프트 연산자 ( <<, >>, >>> )
- 정수형 변수에만 사용이 가능하다.
- 피연산자의 각자리 (2진수)를 오른쪽 또는 왼쪽으로 이동한다.
- 곱셈과 나눗셈을 할 때 연산속도가 매우 뛰어나다.
- << : x << n -> x*2^n
- >> : x >> n -> x/2^n
10. 비교연산자
- 두 개의 변수 또는 리터럴을 비교하는 데 사용된다.
- 주로 조건문과 반복문의 조건식에 사용되며 연산 결과는 true 또는 false이다.
- 이항연산자이다.
11. 대소비교연산자 ( <, >, <=, >= )
- 기본 자료형 중에 boolean 제외한 나머지 자료형에 사용이 가능하다.
12. 등가비교연산자 ( ==, != )
- 모든 자료형에 사용이 가능하다.
-------------------------------------------------------------------------------
수식 연산 결과
-------------------------------------------------------------------------------
x>y x가 y보다 클 때만 true, 그 외에는 false
x<y x가 y보다 작을 때만 true, 그 외에는 false
x>=y x가 y보다 크거나 같을 때만 때만 true, 그 외에는 false
x<=y x가 y보다 작거나 같을 때만 true, 그 외에는 false
x==y x와 y가 같을 때만 true, 그 외에는 false
x!=y x와 y가 다를 때만 true, 그 외에는 false
-------------------------------------------------------------------------------
13. 비트연산자 ( &,|, ^) and or xor 연산
- 이진비트연산을 수행한다.
- 실수형을 제외한 모든 곳에 사용 가능하다.
| (OR연산) - 피연산자 중 한쪽의 값이 1이면 1의 결과를 얻는다.
& (AND연산) - 피연산자 양쪽 모두 1이면 1의 결과를 얻는다.
^ (XOR연산) - 피연산자의 값이 서로 다르면 1의 결과를 얻는다.
14. 논리연산자 ( &&, ||)
- 피연산자로 boolean형 또는 boolean형 값을 결과로 하는 조건식만 허용한다.
- 조건식의 결합에 사용
- '&&'이 '||'보다 연산 우선순위가 높다.
|| (OR) 결합 - 피연산자 중 어느 한쪽만 true이면 true의 결과를 얻는다.
&& (AND)결합 - 피연산자 양쪽 모두 true일 때 true의 결과를 얻는다.
15. 삼항연산자
- 3 개의 피연산자를 필요로 하기 때문에 삼항연산자로 이름 지어졌다.
- 삼항연산자의 조건식에는 연산 결과가 true 또는 false인 식이 사용되어야 한다
- 기본구조
(조건식) ? true일 때 수행 : false일 때 수행
'Java' 카테고리의 다른 글
[Java] 반복문 (for문, while문, do-while문) <계산기> (0) | 2020.09.16 |
---|---|
[Java] 조건문 (if문, switch문) <학점계산기> (0) | 2020.09.12 |
[Java] 연산자(간단 문제) (0) | 2020.09.07 |
[Java] 변수의 타입 (간단 문제) (0) | 2020.09.01 |
[Java] 변수의 타입 (0) | 2020.09.01 |