연산식 | 설명 | |
---|---|---|
+ | 피연산자 | 피연산자의 부호 유지 |
- | 피연산자 | 피연산자의 부호 변경 |
boolean 타입과 char 타입을 제외한 나머지 기본 타입에 사용 가능
int x = -100;
int result1 = +x;
int result2 = -x;
System.out.println(result1); // -100
System.out.println(result2); // 100
부호 연산의 결과는 int 타입이므로 int 타입 변수에 저장해야 한다.
byte b = 100;
byte result = -b; // 컴파일 에러 발생
byte b = 100;
int result = -b; // -100
연산식 | 설명 | |
---|---|---|
++ | 피연산자 | 다른 연산을 수행하기 전에 피연산자의 값을 1 증가시킴 |
-- | 피연산자 | 다른 연산을 수행하기 전에 피연산자의 값을 1 감소시킴 |
피연산자 | ++ | 다른 연산을 수행한 후에 피연산자의 값을 1 증가시킴 |
피연산자 | -- | 다른 연산을 수행한 후에 피연산자의 값을 1 감소시킴 |
boolean 타입을 제외한 모든 기본 타입에 사용 가능
연산식 | 설명 | |
---|---|---|
! | 피연산자 | 피연산자가 true이면 false값을 산출 |
피연산자가 false이면 true값을 산출 |
boolean 타입에만 사용 가능
연산식 | 설명 | ||
---|---|---|---|
피연산자 | + | 피연산자 | 덧셈 연산 |
피연산자 | - | 피연산자 | 뺄셈 연산 |
피연산자 | * | 피연산자 | 곱셈 연산 |
피연산자 | / | 피연산자 | 왼쪽 피연산자를 오른쪽 피연산자로 나눗셈 연산 |
피연산자 | % | 피연산자 | 왼쪽 피연산자를 오른쪽 피연산자로 나눈 나머지를 구하는 연산 |
boolean 타입을 제외한 모든 기본 타입에 사용 가능
byte byte1 = 1;
byte byte2 = 1;
//byte byte3 = byte1 + byte2; 이 경우 모든 피연산자가 int 타입으로 변환되어 연산을 수행하기에
int byte3 = byte1 + byte2 // 이렇게 수정해야 에러 발생하지 않음
문자열을 서로 결합하는 연산자
피연산자 중 한쪽이 문자열이면 + 연산자는 문자열 결합 연산자로 사용되어 다른 피연산자를 문자열로 변환하고 서로 결합
String str1 = "JDK" + 6.0;
String str2 = "JDK" + 3 + 3.0;
String str3 = 3 + 3.0 + "JDK";
System.out.println(str1); // JDK6.0
System.out.println(str2); // JDK33.0
System.out.println(str3); // 6.0JDK
구분 | 연산식 | 설명 | ||
---|---|---|---|---|
동등 | 피연산자1 | == | 피연산자2 | 두 피연산자의 값이 같은지를 검사 |
비교 | 피연산자1 | != | 피연산자2 | 두 피연산자의 값이 다른지를 검사 |
피연산자1 | > | 피연산자2 | 피연산자1이 큰지를 검사 | |
크기 | 피연산자1 | >= | 피연산자2 | 피연산자1이 크거나 같은지를 검사 |
비교 | 피연산자1 | < | 피연산자2 | 피연산자1이 작은지를 검사 |
피연산자1 | <= | 피연산자2 | 피연산자1이 작거나 같은지를 검사 |
boolean 타입을 제외한 모든 기본 타입에 사용 가능
만약 피연산자가 char타입이면 유니코드 값으로 비교 연산을 수행
예를 들어 'A'의 유니코드는 65이고, 'B'의 유니코드는 66이므로 비교 연산자는 65와 66을 비교하게 됨
구분 | 연산식 | 결과 | 설명 | ||
---|---|---|---|---|---|
true | true | true | 피연산자 모두가 | ||
AND | true | && | false | false | true일 경우에만 |
(논리곱) | false | & | true | false | 연산 결과가 true |
false | false | false | |||
true | true | true | 피연산자 중 | ||
OR | true | || | false | true | 하나만 true이면 |
(논리합) | false | | | true | true | 연산 결과는 true |
false | false | false | |||
true | true | false | 피연산자가 하나는 | ||
XOR | true | ^ | false | true | true이고 다른 하나가 |
(배타적 논리합) | false | true | true | false일 경우에만 | |
false | false | false | 연산 결과가 true | ||
NOT | ! | true | false | 피연산자의 | |
(논리 부정) | false | true | 논리값을 바꿈 |
boolean 타입에만 사용 가능
구분 | 연산식 | 설명 | ||
---|---|---|---|---|
단순 대입 연산자 | 변수 | = | 피연산자 | 오른쪽의 피연산자의 값을 왼쪽 변수에 저장 |
변수 | += | 피연산자 | 변수=변수+피연산자와 동일 | |
변수 | -= | 피연산자 | 변수=변수-피연산자와 동일 | |
복합 | 변수 | *= | 피연산자 | 변수=변수*피연산자와 동일 |
대입 | 변수 | /= | 피연산자 | 변수=변수/피연산자와 동일 |
연산자 | 변수 | %= | 피연산자 | 변수=변수%피연산자와 동일 |
변수 | &= | 피연산자 | 변수=변수&피연산자와 동일 | |
변수 | |= | 피연산자 | 변수=변수|피연산자와 동일 | |
변수 | ^= | 피연산자 | 변수=변수^피연산자와 동일 |
모든 연산자들 중에서 가장 낮은 연산 순위를 가지고 있어 제일 마지막에 수행된다.
(조건식) ? A : B 를 말하며 조건이 true이면 A를 산출하고, false이면 B를 산출
int score = 85;
char grade = (score > 90) ? 'A' : ( (score > 80) ? 'B' : 'C');
System.out.println(score + "점은" + grade + "등급입니다.");
//85점은B등급입니다.