일반 수학과 동일한 연산 방법, 우선 순위
단, %는 나누기의 나머지 값을 구하는 연산
++ 혹은 --
→ 피연산자(값)를 1 증가 또는 감소시키는 연산자
int iNum1 = 10;
int iNum2 = 10;
iNum1++; // iNum1 1 증가
iNum2--; // iNum2 1 감소
System.out.println("iNum1 : " + iNum1);
System.out.println("iNum2 : " + iNum2);
- ++3, --2와 같이 연산자가 앞쪽에 배치
- 다른 연산자보다 먼저 증가 / 감소
int temp1 = 5;
System.out.println(++temp1 + 5);
// ++5 + 5
// 6 + 5 == 11
System.out.println("temp1 : " + temp1); // 6
- 10++, 6--와 같이 연산자가 뒤쪽에 배치
- 다른 연산자보다 나중에 증가 / 감소
int temp2 = 3;
System.out.println( temp2-- + 2);
// 3-- + 2 == 5
// temp2 = 2; (1 감소)
System.out.println("temp2 : " + temp2); // 2
int a = 3;
int b = 5;
int c = a++ + --b; // 7
// (a)3++ + --5(b)
// c = (a)3++ + 4(b)
// c = 7
// 미뤄 놨던 a 후위연산 a++ == 3+1 == 4
// 최종적으로 a, b, c는 각각 얼마인가?
System.out.printf("%d / %d / %d\n", a, b, c);
- 데이터가 같은지, 다른지 비교할 때 쓰이며, 항상 결과값은 논리 값 (true, false)으로 나타남
- 등호(=)가 포함된 연산자에서 등호는 항상 오른쪽임
int a = 10;
int b = 20;
System.out.println( a > b ); // false
System.out.println( a < b ); // true
System.out.println( a != b ); // true
System.out.println( a == b ); // false
System.out.println( (a == b) == false ); // true
int c = 4;
int d = 5;
System.out.println( c < d ); // true
System.out.println( c + 1 <= d ); // true
System.out.println((++c != d) == (--c != d)); // false
// (++4 != 5) -> false
// (--5 != 5) -> true
// false == true
// -> false
int temp = 723;
System.out.println("temp는 짝수인가? " + (temp % 2 == 0));
System.out.println("temp는 짝수인가? " + (temp % 2 != 1));
System.out.println("temp는 홀수인가? " + (temp % 2 == 1));
System.out.println("temp는 홀수인가? " + (temp % 2 != 0));
System.out.println("temp는 3의 배수인가? " + (temp % 3 == 0));
System.out.println("temp는 4의 배수인가? " + (temp % 4 == 0));
System.out.println("temp는 5의 배수인가? " + (temp % 5 == 0));
전위 연산과 후위 연산의 차이점을 명심하기!