블로그 이름 뭐하지
[JAVA] 연산자 본문
연산자: +, - 같은 연산기호
피연산자: 연산자로 인해 계산되는 숫자 (ex 3+1 이면 3, 1이 피연산자)
연산자의 종류
1. 산술 연산자
사칙연산 및 비트연산을 포함
사칙연산 : +(덧셈) -(뺄셈) *(곱셈) /(몫) %(나머지)
비트연산
& (and 연산: 모두 1이면 1)
| (or연산: 하나라도 1이면 1)
^ (xor 연산: 하나는 1, 하나는 0일 때 1)
~ (not 연산: 0은 1, 1은 0으로 치환)
<<, >> (쉬프트 연산: 피연산자의 각 자리를 왼쪽 오른쪽으로 이동)
x << y // 정수 x의 각 비트를 y만큼 왼쪽으로 이동(빈자리는 0으로 채워짐)
x >> y // 정수 x의 각 비트를 y만큼 오른쪽으로 이동(빈자리는 최상위 부호비트와 같은 값으로 채워짐)
x >>> y // 정수 x의 각 비트를 y만큼 오른쪽으로 이동(빈자리는 0으로 채워짐)
2. 비교연산자
값의 대소나, 같고 다름을 비교하여 boolean값을 출력
>(크다), >=(크거나 같다), <(작다), <=(작거나 같다), ==(같다), !=(다르다)
3. 논리연산자
비교연산의 결과값으로 받을 수 있는 boolean값을 연결하는 연산자.
boolean값을 출력함
&& (피연산자 모두 참), || (피연산자 둘 중 하나라도 참), ! (피연산자의 반대)
4. 대입연산자
변수를 바로 연산하여 그 자리에서 저장하는 연산자
= (기본대입연산자)
+=, -=, *= ... (복합대입연산자)
++ -- (증감연산자)
증감 연산자의 경우 피연산자에 붙는 위치에 따라 연산 순서가 달라진다.
++피연산자 : 연산 전에 피연산자에 1을 더함
피연산자++ : 연산 후에 피연산자에 1을 더함
5. 기타연산자
형변환연산자
괄호 안에 변환할 타입을 넣으면 피연산자의 타입을 변경
int intNum = 93 + (int)98.8 // 93+98
삼항연산자
비교 연산의 결과 값에 따라 응답할 값을 지정할 수 있는 연산자
(조건)? (참결과) : (거짓결과)
int x = 1;
int y = 9;
boolean b = (x == y) ? true : false;
System.out.println(b); // false
instance of 연산자
피연산자가 조건에 명시된 클래스의 객체인지 비교하여 boolean값으로 응답
(객체명) instance of (클래스명)
연산자 우선순위
()괄호로 감싼 연산 > 산술 > 비교 > 논리 > 대입
int x = 2;
int y = 9;
int z = 10;
boolean result = x < y && y < z; // <,> 비교연산자 계산 후 && 논리 연산자 계산
System.out.println(result); // true
result = x + 10 < y && y < z; // +10 산술 연산자 계산 후 <,> 비교연산자 계산 후 && 논리 연산자 계산
System.out.println(result); // false
result = x + 2 * 3 > y; // 산술연산자 곱셈 > 덧셈 순으로 계산 후 > 비교연산자 계산
System.out.println(result); // false (8>9)
result = (x + 2) * 3 > y; // 괄호안 덧셈 연산 후 괄호 밖 곱셈 계산 후 > 비교연산자 계산
System.out.println(result); // true (12>9)
산술 변환
연산 전에 피연산자의 타입을 일치시키는 것
둘 중에 저장공간의 크기가 더 큰 타입으로 일치시킨다.
int, short면 int로 일치
float, long, int면 float로 일치
'JAVA' 카테고리의 다른 글
[JAVA] 객체 지향 프로그래밍의 이해 (1) | 2024.09.20 |
---|---|
[JAVA] 컬렉션 (0) | 2024.09.20 |
[JAVA] 배열 (0) | 2024.09.20 |
[JAVA] 조건문, 반복문 (0) | 2024.09.20 |
[JAVA] 변수 (0) | 2024.09.19 |