
Java에서 연산자는 값을 계산하거나 비교하는 데 사용하는 기호다.
예를 들어 +, -, *, / 같은 것들이 연산자다.
연산자는 피연산자(operand)와 함께 사용된다.
예를 들어 3 + 4에서 +는 연산자이고, 3, 4는 피연산자다.
산술 연산자는 주로 숫자를 계산하는 데 사용된다. 우리가 이미 잘 알고 있는 기본 수학 연산이다.
+ : 더하기 - : 빼기 * : 곱하기 / : 나누기 % : 나머지 int a = 5;
int b = 2;
System.out.println(a + b); // 7
System.out.println(a - b); // 3
System.out.println(a * b); // 10
System.out.println(a / b); // 2
System.out.println(a % b); // 1
int 타입끼리 나누면 소수점 이하가 버려진다. 10 / 0처럼 0으로 나누면 ArithmeticException 예외가 발생한다. Java에서는 문자열에도 + 연산자를 사용할 수 있다. 문자열과 문자열을 연결하거나, 문자열과 숫자를 연결할 수 있다.
String s1 = "Hello ";
String s2 = "World";
System.out.println(s1 + s2); // Hello World
int num = 10;
System.out.println("a + b = " + num); // a + b = 10
숫자와 문자열을 더하면 숫자가 자동으로 문자열로 변환되어 연결된다.
연산자에도 우선순위가 있다. 곱셈은 덧셈보다 우선순위가 높다.
int sum1 = 1 + 2 * 3; // 1 + (2 * 3) = 7
int sum2 = (1 + 2) * 3; // (1 + 2) * 3 = 9
()를 사용해서 명확하게 표현하는 것이 좋다. 증감 연산자는 변수의 값을 1 증가하거나 감소시킬 때 사용한다.
++a : 전위 증가 연산자 → 먼저 값을 1 증가시키고 사용한다. a++ : 후위 증가 연산자 → 먼저 현재 값을 사용하고, 이후에 1 증가시킨다. int a = 1;
int b;
b = ++a; // a = 2, b = 2
b = a++; // b = 2, 이후 a = 3
비교 연산자는 두 값을 비교하고 true 또는 false를 반환한다.
== : 같다 != : 다르다 > : 크다 < : 작다 >= : 크거나 같다 <= : 작거나 같다 int a = 2;
int b = 3;
System.out.println(a == b); // false
System.out.println(a != b); // true
System.out.println(a < b); // true
주의: 문자열 비교에는 == 대신 .equals()를 사용해야 한다.
String str1 = "hello";
String str2 = "hello";
System.out.println(str1.equals(str2)); // true
논리 연산자는 boolean 값끼리 계산할 때 사용한다.
&& (AND) : 둘 다 참이면 참이다. || (OR) : 둘 중 하나라도 참이면 참이다. ! (NOT) : 값을 반대로 바꾼다. boolean a = true;
boolean b = false;
System.out.println(a && b); // false
System.out.println(a || b); // true
System.out.println(!a); // false
대입 연산자는 값을 변수에 할당할 때 사용한다.
= : 기본 대입 +=, -=, *=, /=, %= : 축약(복합) 대입 연산자 int a = 5;
a += 3; // a = a + 3 → 8
a -= 2; // a = a - 2 → 6
a *= 4; // a = a * 4 → 24
a /= 3; // a = a / 3 → 8
a %= 5; // a = a % 5 → 3