1. 연산자 종류
1) 대입 연산자
2) 부호 연산자
3) 산술 연산자
4) 증감 연산자
5) 관계 연산자
6) 논리 연산자
7) 복합 대입 연산자
8) 조건 연산자
2. 대입 연산자
- 변수에 값을 대입하는 연산자
- 우선순위가 가장 낮음
3. 부호 연산자
1) +
2) -
4. 산술 연산자
1) +
2) -
3) *
4) / : 앞에 있는 항에서 뒤에 있는 항을 나누어 "몫"을 구한다. ex) 5 / 3
5) % : 앞에 있는 항에서 뒤에 있는 항을 나누어 "나머지"를 구한다. ex) 5%3
[산술연산자 실습 : 총점과 평균 구하기]
5. 증가 감소 연산자
1) ++ : 항의 값에 1을 더한다
2) -- : 항의 값에서 1을 뺀다
5-1. 증가 감소 연산자의 위치
1) int value = 10;
int num = ++value;
👉 증가 연산자가 값의 왼쪽에 있는 경우, 값을 대입하기 전에 1을 더하고 대입한다. 따라서 값은 11이 된다.
2) int value = 10;
int num = value++;
👉증가 연산자가 값의 오른쪽에 있는 경우, 값을 먼저 대입한 후 1을 더한다. 따라서 값은 10이 된다.
6. 관계 연산자 => 결과 값은 참(true) 혹은 거짓(false)로 반환된다.
- 관계 연산자는 대입 연산자보다 우선순위가 높으므로 괄호를 사용하지 않아도 원하는 결과 값이 나온다.
- 그러나 괄호를 사용하면 관계 연산의 결과 값이 value에 대입 되는 것을 좀 더 명확하게 알 수 있다.
-> 프로그램은 나 혼자만 만들고 끝나는 것이 아니기 때문에 가독성이 좋은 코드를 작성해야 한다!
1) > : 왼쪽 항이 크면 참을, 아니면 거짓을 반환
2) > : 왼쪽 항이 작으면 참을, 아니면 거짓을 반환
3) >= : 왼쪽 항이 오른쪽 항보다 크거나 같으면 참, 아니면 거짓을 반환
4) <= : 오른쪽 항이 왼쪽 항보다 크거나 같으면 참, 아니면 거짓을 반환
5) == : 두 개 항의 값이 같으면 참, 아니면 거짓을 반환
6) != : 두 개 항이 다르면 참, 아니면 거짓을 반환
7. 논리 연산자
1) && : 두 항이 모두 참인 경우에만 결과 값이 참이다.
2) || : 두 항 중 하나의 항만 참이면 결과 값이 참이다.
3) ! : 참인 경우는 거짓으로 바꾸고, 거짓인 경우엔 참으로 바꾼다.
8. 복합 대입 연산자 (우선 비트 연산자 제외)
- 산술연산자, 비트 연산자와 함께 사용하여 변수를 반복적으로 사용하지 않아도 된다.
1) += : 두 항의 값을 더해 왼쪽 항에 대입
👉num1 += 2;
👉num1 = num1 + 2
2) -= : 왼쪽 항에서 오른쪽 항을 빼서 그 값을 왼쪽 항에 대입
👉 num1 -= 2;
👉 num1 = num1 -2; 와 같음.
3) *= : 두 항의 값을 곱해서 왼쪽 항에 대입
4) /= 왼쪽 항을 오른쪽 항으로 나누어 그 몫을 왼쪽 항에 대입
👉 num1 /= 2;
👉 num1 = num1 / 2; 와 같음
5) %= : 왼쪽 항을 오른쪽 항으로 나누어 그 나머지를 왼쪽 항에 대입
9. 조건 연산자
조건식? 결과 1 : 결과 2
👉 조건식이 참이면 결과1, 조건식이 거짓이면 결과2가 선택된다.
ex) int num = (5 > 3) ? 10 : 20;
조건식이 참이므로 num 값은 10이 된다.
10. 연산자 우선순위
1. 괄호 : [] () .
2. 단항 연산자 : ! ++ -- + -
3. 산술 연산자 : + - * / %
4. 비트 shift : << >>
5. 관계 연산자 : <> <= >= == !=
6. 비트 연산자 : & ^ |
7. 논리 연산자 : && ||
8. 조건 연산자 : 조건 ? 참일때 항 : 거짓일때 항
9. 대입 연산자 : = += -= *= %= /=
10. 증감 후위 연산자 (뒤쪽에 붙을 경우) : ++ --
'개발자 취준기 > Do It! 자바 입문 책 공부' 카테고리의 다른 글
반복문1 : while, do-while (0) | 2023.02.12 |
---|---|
조건문2 : 조건 연산자와 switch-case문 (1) | 2023.02.11 |
조건문1 : if와 if-else문 (0) | 2023.02.11 |
형 변환(type conversion) (0) | 2023.02.11 |
상수와 리터럴 (0) | 2023.02.11 |