-
java) 연산자공부일기/Java 공부 2020. 8. 26. 16:00
ㅁ 항과 연산자
ㅇ (연산자) 연산에 사용하는 기호를 연산자라고 하며, 항의 개수에 따라 단항 연산자, 이항 연산자, 삼항 연산자로 나눌 수 있음
- 기본적으로 사칙연산은 연산자
- 연산자 우선순위가 있음
연산자 설명 연산 예 단항 연산자 항이 한 개인 연산자 ++num 이항 연산자 항이 두 개인 연산자 num1 + num2; 삼항 연산자 항이 세 개인 연산자 (5 >3) ? 1 : 0; ㅇ (대입 연산자) 변수에 값을 대입하는 연산자 (=)
- 이항 연산자 중 우선순위가 가장 낮은 연산자
- 하나의 문장에 여러 연산자가 있을 때 모든 연산을 다 끝낸 후 마지막에 연산 결과를 변수에 대입
* 왼쪽 변수 = 오른쪽 변수(또는 식)
int age = 24; // 나이를 의미하는 age 변수에 값 24를 대입 totalScore = mathScore + engScore; // 1. mathScore 값과 engScore 값을 더하여 // 2. 총점을 의미하는 totalScore 변수에 대입
ㅇ (왼쪽 변수와 오른쪽 변수) 대입 연산자를 사용하면 항상 오른쪽 변수 값을 가져와서 왼쪽 변수에 대입하는 것을 알 수 있음
- 값이 대입되는 왼쪽 변수에는 10같은 숫자가 올 수 없고 항상 변수나 상수가 와야 함
- 오른쪽 변수에는 변수나 숫자(상수 포함)가 올 수 있음
ㅇ (부호 연산자) 더하기와 빼기(+, -) 두 가지가 있음
- 더하기, 빼기 연산에 쓰는 이항 연산자이면서 부호를 나타내는 단항 연산자로도 사용
- (+)는 부호비트를 그대로 유지하며, (-)는 부호비트를 반대로 변환함
int i1 = -5; int i2 = +i1; int i3 = -i1; System.out.println(i1); // -5 출력 System.out.println(i2); // -5 출력 System.out.println(i3); // 5 출력 int i1 = -i1; System.out.println(i1); // 5 출력
ㅇ (산술 연산자) 사칙 연산에서 사용하는 연산자로 5가지가 있음
* 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/), 나머지(%)
ㅇ (증감 연산자) 연산자 앞이나 뒤에 사용하며 값을 1만큼 늘리거나, 1만큼 줄일 때 사용
- 연산자를 피연산자 앞에 쓰는 경우와 뒤에 쓰는 경우는 그 결과 값이 전혀 다르므로 주의해야 함
* 증감 연산자가 피연산자 앞에 있으면 문장이 끝나기 전에 피연산자 값이 증가하거나 감소
* 증감 연산자가 피연산자 뒤에 있으면 문장이 끝난 후에 피 연산자 값이 증가하거나 감소
val = ++num; // 먼저 num 값이 1이 증가한 후 val 변수에 대입 val = num++; // val 변수에 기존 num 값을 먼저 대입한 후 num 값 1 증가 val = --num; // 먼저 num 값이 1 감소한 후 val 변수에 대입 val = num--; // val 변수에 기존 num 값을 먼저 대입한 후 num 값 1 감소
ㅇ (관계 연산자) 항이 두 개인 이항 연산자로 두 개의 항 중 어느것이 더 큰지, 작은지, 같은지 등의 여부를 검사
- 관계 연산자의 결과 값은 참(true) 또는 거짓(false)으로 반환
* >, <, >=, <=, ==, !=
- 조건식이나 반복문을 제어하는 데 자주 사용하는 연산자로 두 값을 비교하여 결과값을 반환(ture, false)하므로 비교 연산자라고도 부름
ㅇ (논리 연산자)
- 명제가 모두 참이면 논리 곱은 참(AND)
- 두 명제 중 하나만 참이면 논리 합은 참(OR)
- 참의 부정은 거짓(NOT)
- 거짓의 부정은 참(NOT)
연산자 기능 연산 예 &&
(논리 곱)두 항이 모두 참인 경우에만 결과 값이 참입니다.
그렇지 않은 경우는 거짓입니다.boolean val = (5 > 3) %% (5 > 2); ||
(논리 합)두 항 중 하나의 항만 참이면 결과 값은 참입니다.
두 항이 모두 거짓이면 결과 값은 거짓입니다.boolean val = (5>3) || (5<2); !
(부정)단항 연산자입니다. 참인 경우는 거짓으로 바꾸고,
거짓인 경우는 참으로 바꿉니다.boolean val = !(5>3); A B A&&B A||B !A A^B True True True True False False True False False True False True False True False True True True False False False False True False int num1 = 10; int num2 = 20; boolean flag = (num1 > 0) && (num2 >0); System.out.println(flag); // True flag = (num1 < 0) && (num2 > 0); System.out.println(flag) // False flag = (num1 < 0) || (num2 > 0); System.out.println(flag) // Ture
ㅇ (복합 대입 연산자) 연산자와 다른 연산자를 조합해 하나의 연산자처럼 사용하는 연산자
- 산술 연산자, 비트 연산자와 함께 사용하여 코드를 간결하게 표현할 수 있음
- 대입 연산자는 우선순위가 가장 낮은 연산자로 연산이 모두 끝난 후에 마지막으로 결과 값을 변수에 대입
연산자 기능 연산 예 += 두 항의 값을 더해서 왼쪽 항에 대입 num1 += 2;
num1 = num1 +2; 와 같음-= 왼쪽 항에서 오른쪽 항을 빼서 그 값을 왼쪽 항에 대입 num1 -= 2;
num1 = num1 -2; 와 같음ㅇ (조건 연산자) 연산에 필요한 항의 개수가 3개로 '삼항 연산자'라고도 부름
연산자 기능 연산 예 (조건식) ? 결과1 : 결과2 ; 조건식이 참이면 결과1, 조건식이 거짓이면 결과2가 선택 int num = (5>3) ? 10: 20; int fatherAge = 45; int motherAge = 40; char ch; ch = (fatherAge > motherAge)? "T" : "F"; System.out.println(ch); // T 출력
'공부일기 > Java 공부' 카테고리의 다른 글
java) 반복문1 (0) 2020.08.27 java) 조건문3 (0) 2020.08.27 java) 조건문2 (0) 2020.08.26 java) 조건문1 (0) 2020.08.26 java) 변수, 자료형, 형 변환 (0) 2020.08.26