일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Branch
- Android Studio
- 캡슐화
- SSL
- commit
- 특징
- java
- error
- IntelliJ IDEA Community
- terms
- intellij 연동
- gradle
- cherrypick
- TortoiseSVN
- install
- Checkout
- 상속
- Android
- sourcetree
- 생성자
- Class
- syntax
- VCS
- Subversion
- constructor
- git
- 자바
- IntelliJ
- 문법
- svn
Archives
- Today
- Total
Jay's Developer Note
[JAVA] 자바 언어 기본 문법 - 3(연산자) 본문
728x90
연산자
연산은 하나 이상의 피연산자를 연산자의 정의에 따라 계산하여 하나의 결괏값을 도출해 내는 과정이다.
연산자를 이용한 결과는 언제나 하나이다.
산술 연산자
가감승제를 표현하는 연산자이다.
int a = 20;
int b = 10;
int result;
// 덧셈 연산자
result = a + b; // result = 30
// 뺄셈 연산자
result = a - b; // result = 10
// 곱셈 연산자
result = a * b; // result = 200
// 나눗셈 연산자
result = a / b; // result = 2
// 나머지 연산자
result = a % b; // result = 0
비교 연산자
피연산자의 크기나 객체의 타입 비교 시 사용한다. 결과는 논리형으로 TRUE/FALSE 를 반환한다.
int a = 20;
int b = 10;
boolean result;
// 크다
result = a > b; // result = true
// 크거나 같다
result = a >= b; // result = true
// 작다
result = a < b; // result = false
// 작거나 같다
result = a <= b; // result = false
// 같다
result = a == b; // result = false
// 같지 않다
result = a != b; // result = true
논리 연산자
조건식이 TRUE/FALSE 인지를 판단하여 결과를 논리형으로 TRUE/FALSE 를 반환한다.
boolean a = true;
boolean b = false;
boolean result;
// a 와 b 가 모두 true 일 때만 true, 그 외는 false
result = a & b; // result = false
// a 와 b 가 모두 true 일 때만 true, 그 외는 false
// a 가 false 인 경우 b 는 수행하지 않고 false 반환
result = a && b; // result = false
// a 와 b 가 모두 false 일 때만 false, 그 외는 true
result = a | b; // result = true
// a 와 b 가 모두 false 일 때만 false, 그 외는 true
// a 가 true 인 경우 b 는 수행하지 않고 true 반환
result = a || b; // result = true
// b 의 값 Reversing, true 면 false, false 면 true
result = !b; // result = true
증감 연산자
변수의 값에 1을 증가/감소시킨 후 변수에 다시 저장한다. 아래 나올 대입 연산자의 +=/-= 와 같은 기능을 수행한다.
int a = 20;
int result;
// 수식 처리 후 a 값 1 증가
result = a++; // result = 20, a = 21
// a 값 1 증가 후 수식 처리
result = ++a; // result = 21, a = 21
// 수식 처리 후 a 값 1 감소
result = a--; // result = 20, a = 19
// a 값 1 감소 후 수식 처리
result = --a; // result = 19, a = 19
비트 연산자
피연산자의 비트 별로 연산을 수행한다. 실수형을 제외한 산술 데이터를 취한다.
// a 와 b 의 비트 별로 두 비트가 모두 1 이면 1, 그 외에는 0
// AND 연산
00000110 &
11111101;
00000100 // result
// a 와 b 의 비트 별로 두 비트가 모두 0 이면 0, 그 외에는 1
// OR 연산
00000110 |
00001000;
00001110 // result
// a 와 b 의 비트 별로 두 비트가 서로 다르면 1, 같으면 0
// XOR 연산(Exclusive OR)
00000110 ^
00001111;
00001001 // result
// 각 비트 반전
~00000110;
11111001 // result
// a 의 비트를 b 비트 수만큼 우측으로 이동
00010100 >> 2;
00000101 // result
// a 의 비트를 b 비트 수만큼 좌측으로 이동
00010100 << 2;
01010000 // result
대입 연산자
우변(변수, 상수, 수식, 함수 등)의 최종 결과를 좌변(변수)에 대입(저장)하는 연산자다. '같음'이 아니라 '대입'이다.
int a = 20;
int b = 10;
// b 값을 a 에 대입
a = b; // a = 10
// a 값에 b 를 더한 후 a 에 대입
a += b; // a = 20, 10 + 10
// a 값에서 b 를 뺀 후 a 에 대입
a -= b; // a = 10, 20 - 10
// a 값에 b 를 곱한 후 a 에 대입
a *= b; // a = 100, 10 * 10
// a 값을 b 를 나눈 후 a 에 대입
a /= b; // a = 10, 100 / 10
// a 값을 b 로 나눈 나머지를 a 에 대입
a %= b; // a = 0, 10 % 10
조건 연산자(삼항 연산자)
if-else 를 축약하여 표현한 연산자다. 첫 번째 피연산자는 논리식이어야 하고, 두 번째, 세 번째 피연산자는 같은 데이터형을 가져야 한다.
int a = 20;
int b = 10;
int result;
// 조건이 true 면 a 를 대입하고 false 면 b 를 대입한다.
result = (a > b) ? a : b; // result = 20
/* if 문으로 변환
if (a > b) {
result = a;
} else {
result = b;
}
*/
연산자 우선순위
728x90
'JAVA' 카테고리의 다른 글
[JAVA] 자바 언어 기본 문법 - 5(반복문) (0) | 2022.02.12 |
---|---|
[JAVA] 자바 언어 기본 문법 - 4(조건문) (0) | 2022.02.11 |
[JAVA] 자바 언어 기본 문법 - 2(배열 변수) (0) | 2022.02.09 |
[JAVA] 자바 언어 기본 문법 - 1(기본 변수) (0) | 2022.02.09 |
[JAVA] 객체지향 언어의 특징 (0) | 2022.02.08 |