- 프로그램에서 데이터를 처리하여 결과를 산출하는것을 연산(operation)이라고 한다.
연산자: 연산에서 사용되는 표시나 기호
피연산자: 연산자와 함께 연산되는 데이터
연산식: 연산자와 피연산자 사용하여 연산 과정 기술한것
자바에서 제공되는 연산자: 산출되는 값의 타입이 연산자별로 다름
이항: 2개, 단항: 1개
연산식은 반드시 하나의 값 산출
변수에 연산식의 값을 저장
다른 연산식의 피연산자 위치에 연산식 대입 가능
복합적으로 구성된 연산식의 연산: 우선순위에 따라 수행
단항 -> 이항 -> 삼항
산술 -> 비교 -> 논리 -> 대입
우선순위가 같은 연산자는 왼쪽에서 오른쪽 방향으로 수행 예외) 대입 연산자는 오른쪽에서 왼쪽으로
피연산자 수에 따라 나뉨
단항 연산자: 부호, 증감 연산자 ++x;
이항 연산자: 산술, 비교, 논리 연산자 x + y;
삼항 연산자: 조건 연산자 (sum > 90) ? "A" : "B"
부호 연산자: boolean 타입과 char 타입을 제외한 기본 타입에 사용
부호연산의 결과는 int
byte b = 100;
byte result = -b; (X) 컴파일 에러 발생, int이하 정수 산술연산(부호연산)은 int타입으로 연산
int result = -b; (O)
증감 연산자: boolean 타입 외 모든 기본 타입 피연산자에 사용 가능, ++, --
변수 앞뒤 어디에든 올수 있음
다른 연산자와 함께 사용될 경우 증감 연산자 위치에 따라 결과 달라질 수 있음
int x = 1;
int y = 2;
int result1 = ++x + 10; -> x값 : 2, result1 값: 12
int result2 = y++ + 10; -> y값: 2, result2값: 11
why? y++는 result2값에 먼저 y값이 대입되고, 그 다음에 10을 해줌 따라서 ++ 영향을 안 받음
다른 블로그 예제 보기
https://studymake.tistory.com/417
자바(JAVA)의 증감 연산자
증감 연산자 ++와 --는 한 개의 피연산자를 갖는 단항 연산자로서 피연산자를 1씩 증가 혹은 감소시키는 것이다. (증감연산자는 C/C++에서의 용법과 동일하다.) 반복문에서 많이 사용되며 피연산
studymake.tistory.com
논리, 부정연산자
! 피연산자가 true이면 false를, false이면 true 값을 산출
산술 연산자
피연산자 타입이 동일하지 않은경우 아래 규칙에 따라 일치시켜 연산 수행
- 피연산자가 byte, short, char 타입일 경우 모두 int타입으로 벼환
- 피연산자가 모두 정수 타입이고 long타입으로 포함될 경우 모두 long 타입으로 변환
- 피연산자가 실수 타입이 있을 경우 혀용 범위 큰 실수 타입으로 변환(double)
문자열 결한 연산자: 피연산자 중 한쪽이 문자열인 경우
이항 연산자
비교 연산자: 피연산자의 대소 비교하여 true/ false 산출, 조건문이나 반복문에서 실행 흐름제어
동등 비교 연산자: 모든 타입에 사용가능( ==, != )
크기 비교 연산자: boolean 외 모든 기본타입에 사용 가능( > , >= , <, <=)
논리 연산자: boolean타입만 사용 가능
AND && 또는 &
OR // 또는 /
XCR ^
NOT !
대입 연산자
오른쪽 피연산자의 값을 왼쪽 피연산자인 변수에 저장 =
단순 대입, 복합대입 연산자
x + = 2; -> x = x + 2;
x * = 3; -> x = x * 3;
삼항 연산자
- 3개의 피연산자를 필요로 하는 연산자
- ? 앞의 조건식에 따라 콜론(:) 앞뒤의 피연산자 선택
int score = 95;
char grade = (score > 90) ? 'A' : 'B' ;
if문으로 변경하면
int score = 95;
char grade;
if(score > 90){
grade = 'A';
} else {
grade = 'B';
}
'TIL > myself' 카테고리의 다른 글
TIL(Today I Learned) 20220421 자바 배열, 자바 열거 타입 (0) | 2022.04.21 |
---|---|
TIL(Today I Learned) 20220420 자바 참조타입과 참조 변수 (0) | 2022.04.20 |
TIL(Today I Learned) 20220419 자바 조건문과 반복문 (0) | 2022.04.19 |
TIL(Today I Learned) 20220417 자바 변수와 시스템 입출력 (0) | 2022.04.17 |
TIL(Today I Learned) 20220416 자바 변수 (0) | 2022.04.16 |