[Java] 연산자

서연·2025년 4월 15일

Java

목록 보기
7/36
post-thumbnail

산술 연산자

1. 기본적인 사칙 연산

int a = 10;
int b = 3;
        
// 기본 사칙연산
int sum = a + b;
System.out.println("sum = " + sum);
        
int sub = a - b;
System.out.println("sub = " + sub);
        
int mul = a * b;
System.out.println("mul = " + mul);

2. 나눗셈

int a = 10;
int b = 3;

...

int div = a / b;
System.out.println("div = " + div); // ⚠️ 3 (소수점 버려짐)
        
double div2 = a / 3.0;
System.out.println("div2 = " + div2); // ✅ 3.333... (소수점 유지)

3. 모듈러 연산자(나머지 연산)

int mod = 10 % 3;
System.out.println("mod = " + mod); // 나머지: 1

int mod2 = 15 % 4;
System.out.println("mod2 = " + mod2); // 나머지: 3

int mod3 = 20 % 7;
System.out.println("mod3 = " + mod3); // 나머지: 6

대입 연산자

1. 대입 연산자(=)

  • 변수의 값을 할당하는데 사용된다.
  • 연산자 중에 제일 마지막에 수행된다.
int num = 5;
System.out.println("변수 num의 값: " + num); // 5

2. 복합 대입 연산자(+=,-=,*=,/=,%=)

  • 누적 값을 구할 때 자주 활용된다.
  • num +=3; 의 의미는 num = num + 3;이다.
int num = 5;
num += 3;  // num = num + 3;
System.out.println("+= 결과: " + num); // 8

num -= 2;  // num = num - 2;
System.out.println("-= 결과: " + num); // 6

num *= 2;  // num = num * 2;
System.out.println("*= 결과: " + num); // 12

num /= 3;  // num = num / 3;
System.out.println("/= 결과: " + num); // 4

num %= 3;  // num = num % 3;
System.out.println("%= 결과: " + num); // 1

증감 연산자

  • 변수를 1증가(++) 또는 1 감소(--) 시킬 때 사용된다.

1. 전위 연산(++i)

  • 연산 후 값이 사용된다.
int a = 5;
System.out.println("++a: " + (++a));  // 6 (먼저 증가 후 출력)
System.out.println("현재 a 값: " + a);  // 6

2. 후위 연산(i++)

  • 값이 사용된 후 연산된다.
int b = 5;
System.out.println("b++: " + (b++));  // 5 (출력 후 증가)
System.out.println("현재 b 값: " + b);  // 6

비교 연산자

  • 두 값이 같은지 다른지 크거나 작은지 비교할 때 사용된다.

    1. 같음 연산자(==)

    • 두 값이 같으면 true, 다르면 false를 반환한다.
      System.out.println("10 == 10: " + (10 == 10)); // true

    2. 다름 연산자(!=)

    • 두 값이 다르면 true, 같으면 false를 반환한다.
      System.out.println("10 != 5: " + (10 != 5)); // true

    3. 크기 비교 연산자(>, <, <=, >=)

    • 양쪽의 값을 비교했을 때 논리에 맞으면 true, 논리에 어긋나면 false를 반환한다.
      System.out.println("10 >= 10: " + (10 >= 10)); // true

논리 연산자

1. AND 연산자(&&)

  • 두 조건이 모두 참일 때 true를 반환한다.
System.out.println("true && true: " + (true && true));  // true
System.out.println("true && false: " + (true && false)); // false
System.out.println("false && false: " + (false && false)); // false

int age = 20;
boolean isStudent = true;
System.out.println(age > 18 && isStudent); // true

2. OR 연산자(||)

  • 둘 중 하나라도 참이면 true를 반환한다.
System.out.println("true || false: " + (true || false)); // true
System.out.println("false || false: " + (false || false)); // false
System.out.println("true || true: " + (true || true)); // true


int age = 20;
boolean isStudent = true;
System.out.println(age > 18 || isStudent); // true

3. NOT 연산자(!)

  • true 일 때 false로, false 일 때 true 로 반환한다.
System.out.println("!true: " + (!true));  // false
System.out.println("!false: " + (!false)); // true


int age = 20;
boolean isStudent = true;
System.out.println(age > 18 && isStudent); // true

연산자 우선순위

1. 산술 연산자 우선순위

  • 기본적인 수학 사칙연산 우선순위가 적용된다.
System.out.println(10 - 3 * 2); 
// 실행 순서: 10 - (3 * 2) 
// → 10 - 6 
// → 4

2. 기본 연산자 우선순위(산술 -> 비교 -> 논리 -> 대입)

boolean flag = 10 + 5 > 12 && true;
System.out.println(flag);
// 실행 순서: (10 + 5) > 12 && true : 산술
// → 15 > 12 && true : 비교
// → true && true : 논리
// → flag = true 대입

3. 비교 연산자와 산술 연산자의 우선순위

System.out.println(10 - 3 > 5 + 1);
// 실행 순서: (10 - 3) > (5 + 1) : 산술
// → 7 > 6 : 비교
// → true

4. 논리 연산자 우선순위(! -> && -> ||)

boolean result = true || false && !false;
// 실행 순서: true || (false && false)
// → true || false
// → true

문자열 비교

  • .equals()를 사용한다.
  • 문자열 비교에서 ==를 쓰지않는 이유는 ==는 문자열 값을 비교하는 것이 아니라 메모리 주소를 비교하는 방식이기 때문이다.
String text1 = "Hello";
String text2 = "Hello";
boolean isEqual = text1.equals(text2);
System.out.println("text1과 text2가 같은가? " + isEqual); // true

0개의 댓글