(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)

 

연산에 사용하는 기호를 연산자(Operator)라고 하며, 연산에 사용하는 값을 항(Operand)이라고 한다. 예를 들어 1 + 2에서 1과 2는 항이고 +는 연산자이다.

연산자 기능
단항 연산자 항이 한 개인 연산자 ++num
이항 연산자 항이 두 개인 연산자 num1 + num2
삼항 연산자 항이 세 개인 연산자 (num1 > num2) ? 1 : 0

 

■ 대입 연산자

- 오른쪽에 있는 값이나 수식을 계산하여 왼쪽에 있는 변수에 넣어주는 연산자이다.

1
2
3
4
5
6
7
8
public class Main {
    public static void main(String[] args) {
        int x = 10, y = 20;
        int z = x + y;
 
        System.out.println("x + y = " + z); // x + y = 30
    }
}
cs

 

■ 부호 연산자

- 양수와 음수를 나타내는 연산자이다.

연산자 기능
+ 변수나 상수의 값을 양수로 만듦 +1
- 변수나 상수의 값을 음수로 만듦 -1
1
2
3
4
5
6
7
8
public class Main {
    public static void main(String[] args) {
        int x = +10, y = -5;
        
        System.out.println("x = " + x); // x = 10
        System.out.println("y = " + y); // y = -5
    }
}
cs

 

■ 산술 연산자

- 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 연산을 할 때 사용되는 연산자이다.

연산자 기능
+ 덧셈 x + y
- 뺄셈 x - y
* 곱셈 x * y
/ 나눗셈 x / y
% 나머지 x % y
1
2
3
4
5
6
7
8
9
10
11
public class Main {
    public static void main(String[] args) {
        int x = 3, y = 2;
 
        System.out.println("x + y = " + (x + y)); // x + y = 5
        System.out.println("x - y = " + (x - y)); // x - y = 1
        System.out.println("x * y = " + (x * y)); // x * y = 6
        System.out.println("x / y = " + (x / y)); // x / y = 1
        System.out.println("x % y = " + (x % y)); // x % y = 1
    }
}
cs

 

■ 증감 연산자

- 후위 증감 연산자 : 증감 연산자를 사용한 줄에서는 증감하지 않은 값을 사용하고, 해당 줄을 넘어가면 증감시킨다.

- 전위 증감 연산자 : 증감 연산자를 사용한 줄에서부터 증감시킨다.

연산자 기능
++ 항의 값을 1 증가시킨다. num++
++num
-- 항의 값을 1 감소시킨다. num--
--num
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Main {
    public static void main(String[] args) {
        int x = 10;
 
        System.out.println("x++ = " + x++); // x++ = 10
        System.out.println("x = " + x); // x = 11
        System.out.println("++x = " + ++x); // ++x = 12
        System.out.println("x = " + x); // x = 12
        System.out.println("x-- = " + x--); // x-- = 12
        System.out.println("x = " + x); // x = 11
        System.out.println("--x = " + --x); // --x = 10
        System.out.println("x = " + x); // x = 10
    }
}
cs

 

■ 관계 연산자

- 두 식의 대소관계를 비교하는 연산자로서, 결과를 참(true)이나 거짓(false)으로 표현한다.

연산자 기능
> 왼쪽 항이 크면 참, 아니면 거짓 반환 x > y
< 왼쪽 항이 작으면 참, 아니면 거짓 반환 x < y
>= 왼쪽 항이 크거나 같으면 참, 아니면 거짓 반환 x >= y
<= 왼쪽 항이 작거나 같으면 참, 아니면 거짓 반환 x <= y
== 두 항이 같으면 참, 아니면 거짓 반환 x == y
!= 두 항이 다르면 참, 아니면 거짓 반환 x != y
1
2
3
4
5
6
7
8
9
10
11
12
public class Main {
    public static void main(String[] args) {
        int x = 3, y = 5;
 
        System.out.println("x > y = " + (x > y)); // x > y = false
        System.out.println("x < y = " + (x < y)); // x < y = true
        System.out.println("x >= y = " + (x >= y)); // x >= y = false
        System.out.println("x <= y = " + (x <= y)); // x <= y = true
        System.out.println("x == y = " + (x == y)); // x == y = false
        System.out.println("x != y = " + (x != y)); // x != y = true
    }
}
cs

 

■ 논리 연산자

- 논리 곱(AND), 논리 합(OR), 논리 부정(NOT)의 연산을 할 때 사용된다.

연산자 기능
&& 두 항이 모두 참인 경우에만 참 x && y
|| 두 항 중 하나의 항이라도 참이면 참 x || y
! 참인 경우 거짓, 거짓인 경우 참으로 바꾼다. !x
1
2
3
4
5
6
7
8
9
public class Main {
    public static void main(String[] args) {
        boolean x = true, y = false;
          
        System.out.println("x && y = " + (x && y)); // x && y = false
        System.out.println("x || y = " + (x || y)); // x || y = true
        System.out.println("!x = " + (!x)); // !x = false
    }
}
cs

 

■ 복합 대입 연산자

- 대입 연산자와 다른 연산자를 조합해 하나의 연산자로 사용할 수 있다.

연산자 기능
+= a = a + 2와 동일 a += 2
-= a = a - 2와 동일 a -= 2
*= a = a * 2와 동일 a *= 2
/= a = a / 2와 동일 a /= 2
%= a = a % 2와 동일 a %= 2
<<= a = a << 2와 동일 a <<= 2
>>= a = a >> 2와 동일 a >>= 2
>>>= 2는 a = a >>> 2와 동일 a >>>= 2
&= a = a & 2와 동일 a &= 2
|= a = a | 2와 동일 a |= 2
^= a = a ^ 2와 동일 a ^= 2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class Main {
    public static void main(String[] args) {
        int a = 7;
        
        System.out.println("a += 2 : " + (a += 2)); // a += 2 : 9
        System.out.println("a -= 2 : " + (a -= 2)); // a -= 2 : 7
        System.out.println("a *= 2 : " + (a *= 2)); // a *= 2 : 14
        System.out.println("a /= 2 : " + (a /= 2)); // a /= 2 : 7
        System.out.println("a %= 2 : " + (a %= 2)); // a %= 2 : 1
        System.out.println("a <<= 2 : " + (a <<= 2)); // a <<= 2 : 4
        System.out.println("a >>= 2 : " + (a >>= 2)); // a >>= 2 : 1
        System.out.println("a >>>= 2 : " + (a >>>= 2)); // a >>>= 2 : 0
        System.out.println("a &= 2 : " + (a &= 2)); // a &= 2 : 0
        System.out.println("a |= 2 : " + (a |= 2)); // a |= 2 : 2
        System.out.println("a &= 2 : " + (a &= 2)); // a &= 2 : 2
    }
}
cs

 

■ 조건 연산자

- 조건 연산자는 삼항 연산자라고도 하며, 조건식이 참인 경우와 거짓인 경우 각각 다른 값이 나온다.

연산자 기능
조건식 ? 식1 : 식2 조건식이 참이면 식1, 거짓이면 식2 수행 (num % 2 == 0) ? "짝수" : "홀수"
1
2
3
4
5
6
7
8
public class Main {
    public static void main(String[] args) {
        int num1 = 10, num2 = 11;
        
        System.out.println("num1 : " + ((num1 % 2 == 0) ? "짝수" : "홀수")); // num1 : 짝수
        System.out.println("num2 : " + ((num2 % 2 == 0) ? "짝수" : "홀수")); // num2 : 홀수
    }
}
cs

'Java' 카테고리의 다른 글

자바(Java) 연산자 우선순위  (0) 2020.06.24
자바(Java) 비트 연산자  (0) 2020.06.24
자바(JAVA) 자료형 변환  (0) 2020.06.18
자바(Java) 상수  (0) 2020.06.18
문자 인코딩(Character Encoding) ASCII, ANSI, Unicode, UTF  (0) 2020.06.17

+ Recent posts