카테고리 없음
(Java) Chapter2. 연산자
Mandla
2023. 1. 3. 21:30
1. 산술 연산자
1) 일반 연산자
System.out.println(4 + 2); // 6
System.out.println(4 - 2); // 2
System.out.println(4 * 2); // 8
System.out.println(4 / 2); // 2 (몫)
System.out.println(5 / 2); // 2
System.out.println(2 / 4); // 0 (0.5의 정수만)
System.out.println(4 % 2); // 2 (나머지)
System.out.println(5 % 2); // 1 (나머지)
2) 우선 순위 연산
System.out.println(2 + 2 * 2); // 6
System.out.println((2 + 2) * 2); // 8
System.out.println(2 + (2 * 2)); // 6
3) 변수 활용 연산
int a = 20;
int b = 10;
int c;
c = a + b;
System.out.println(c); // 30
c = a - b;
System.out.println(c); // 10
c = a * b;
System.out.println(c); // 200
c = a / b;
System.out.println(c); // 2
c = a % b;
System.out.println(c); // 0
4) 증감 연산
int val;
val = 10;
System.out.println(val); // 10
System.out.println(++val); // 11, 1이 더해 진 상태로 결과 도출
System.out.println(val); // 11
val = 10;
System.out.println(val); // 10
System.out.println(val++); // 10, 원상태로 결과 도출 후 다음 결과에는 +1 반영
System.out.println(val); // 11
val = 10;
System.out.println(val); // 10
System.out.println(--val); // 9, 1이 뺀 상태로 결과 도출
System.out.println(val); // 9
val = 10;
System.out.println(val); // 10
System.out.println(val--); // 10, 원상태로 결과 도출 후 다음 결과에는 -1 반영
System.out.println(val); // 9
// 예시) 은행 대기번호 표
int waiting = 0;
System.out.println("대기 인원 : " + waiting++); // 대기 인원 : 0
System.out.println("대기 인원 : " + waiting++); // 대기 인원 : 1
System.out.println("대기 인원 : " + waiting++); // 대기 인원 : 2
System.out.println("총 대기 인원 : " + waiting); // 총 대기 인원 : 3
2. 대입 연산자
1) 대입 연산자
int num = 10;
num = num + 2;
System.out.println(num); // 12
num = num - 2;
System.out.println(num); // 10
num = num * 2;
System.out.println(num); // 20
num = num / 2;
System.out.println(num); // 10
num = num % 2;
System.out.println(num); // 0
2) 복합 대입 연산자
num = 10;
num += 2; // num = num + 2
System.out.println(num); // 12
num -= 2; // num = num - 2
System.out.println(num); // 10
num *= 2; // num = num * 2
System.out.println(num); // 20
num /= 2; // num = num / 2
System.out.println(num); // 10
num %= 2; // num = num % 2
System.out.println(num); // 0
3. 비교 연산자
System.out.println(5 > 3); // 5는 3보다 크다 (참이면 true, 거짓이면 false)
System.out.println(5 >= 3); // 5는 3보다 크거나 같다 (true)
System.out.println(5 >= 5); // 5는 5보다 크거나 같다 (true)
System.out.println(5 >= 7); // 5는 7보다 크거나 같다 (false)
System.out.println(5 < 3); // 5는 3보다 작다 (false)
System.out.println(5 <= 3); // 5는 3보다 작거나 같다 (false)
System.out.println(5 == 5); // 등호 한 번은 대입 연산으로 인식. 5는 5와 같다 (true)
System.out.println(5 == 3); // 5는 3과 같다 (false)
System.out.println(5 != 5); // 5는 5와 같지 않다 (false)
System.out.println(5 != 3); // 5는 3과 같지 않다 (true)
4. 논리 연산자
boolean 김치찌개 = true;
boolean 계란말이 = true;
boolean 제육볶음 = true;
System.out.println(김치찌개 || 계란말이 || 제육볶음); // 'or' 표시 = '||' (하나라도 true면 true)
System.out.println(김치찌개 && 계란말이 && 제육볶음); // 'and' 표시 = '&&' (하나라도 false면 false)
// And 연산
System.out.println((5 > 3) && (3 > 1)); // true && true = true
System.out.println((5 > 3) && (3 < 1)); // true && false = false
// Or 연산
System.out.println((5 > 3) || (3 > 1)); // true || true = true
System.out.println((5 > 3) || (3 < 1)); // true || false = true
System.out.println((5 < 3) || (3 < 1)); // false || false = false
// System.out.println(1 < 3 < 5); // 연속 비교 연산은 오류 발생
// 논리 부정 연산
System.out.println(!true); // false('!'를 앞에 두면 해당 논리의 반대를 출력)
System.out.println(!false); // true
System.out.println(!(5 == 5)); // false
System.out.println(!(5 == 3)); // true
5. 삼항 연산자
// 결과 = (조건) ? (참의 경우 결과값) : (거짓의 경우 결과값)
int x = 5;
int y = 3;
int max = (x > y) ? x : y;
System.out.println(max); // 5
int min = (x < y) ? x : y;
System.out.println(min); // 3
boolean b = (x == y) ? true : false;
System.out.println(b); // false
String s = (x != y) ? "달라요" : "같아요";
System.out.println(s); // 달라요