본문 바로가기
Programming/Java

[Java] 3. 연산자

by Rayched 2022. 9. 23.

자바에서 사용되는 연산자의 종류는 '산술 연산자', '비교 연산자', '논리 연산자'가 있다.

각 연산자의 정의를 알고, 그걸 활용해서 코드를 작성하고 해당 코드를 리뷰하는 것으로 연산자 설명을 마치겠다.

 

① 산술 연산자

(1). 산술 연산자

- 사칙연산을 다루는 연산자로 가장 기본적이고 많이 사용되는 연산자이다.

- 두 개의 피연산자를 가지는 이항 연산자로, 결합 방향은 [왼쪽 → 오른쪽] 이다.

- 'int a = 10;'  /  'int b = 5;'

종류 해석 사용 예시 결과
a + b a와 b를 더한다. System.out.println(a + b); 15
a - b a에 b를 뺀다. System.out.println(a - b); 5
a * b a와 b를 곱한다. System.out.println(a * b); 50
a / b a에 b를 나눈다. System.out.println(a / b); 2
a % b a에 b를 나누고, 나머지를 구한다. System.out.println(a % b); 0

(2). 증감 연산자

- 변수에 저장된 값을 1씩 증가시키거나, 감소시키는 역할을 하는 연산자이다.

- 증감 연산자는 연산자가 붙는 위치에 따라, '전위 연산자', '후위 연산자'로 나눌 수 있다.

  (2) - 1. 전위 연산자

    - 변수에 저장된 값을 먼저 증가 또는 감소시킨 후, 값을 출력하는 연산자

  (2) - 2. 후위 연산자

    - 변수에 저장된 값을 먼저 출력한 후에, 값을 증가 또는 감소시키는 연산자

-  'int a = 10;'  /  'int b = 5;'

분류 종류 해석 사용 예시 결과
전위
연산자
++ a 변수 a의 값을 1 증가시키고, 값을 출력한다. System.out.println(++ a); 11
-- b 변수 b의 값을 1 감소시키고, 값을 출력한다. System.out.println(-- b); 4
후위
연산자
a ++ 변수 a의 현재 값을 출력한 다음, 값을 1 증가시킨다. System.out.println(a ++); 10
b -- 변수 b의 현재 값을 출력한 다음, 값을 1 감소시킨다. System.out.println(b --); 5

 

② 비교 연산자

- 두 피연산자의 값의 관계를 비교하기 때문에 '관계 연산자'라고도 한다.

- 두 피연산자의 값이 같거나, 다른지, 큰지(초과), 작은지(미만), 크거나 같은지(이상), 작거나 같은지(이하) 등을

  비교하는 연산자이다.

- 'int a = 10;'  /  'int b = 5;'

종류 해석 사용 예시 결과
a == b a와 b의 값이 같다. System.out.println(a == b); false (거짓)
a != b a와 b의 값이 다르다. (같지 않음) System.out.println(a != b); true (참)
a > b a의 값이 b의 값보다 크다. (초과) System.out.println(a > b); true (참)
a < b a의 값이 b의 값보다 작다. (미만) System.out.println(a < b); false (거짓)
a >= b a의 값이 b의 값보다 크거나 같다. (이상) System.out.println(a >= b); true (참)
a <= b a의 값이 b의 값보다 작거나 같다. (이하) System.out.println(a <= b); false (거짓)

 

③ 논리 연산자

- '참, 참 (true, true)', '참, 거짓 (true, false)', '거짓, 참 (false, true)', '거짓, 거짓 (false, false)' 등의 논리 연산을 해야할 때

   사용되는 연산자이다.

- 대표적인 논리 연산자로는 '&&'와 '||'가 존재한다.

 

(1). && (AND) 연산자

 - 두개의 피 연산자가 참일 때만, 출력이 참이 되는 연산자 

 - 이를 수식으로 표현하자면 'A * B = C'로 표현할 수 있다. (A,B = 입력 / C = 출력)

 

(2). || (OR) 연산자

 - 두 개의 피 연산자 중 하나가 참이거나, 둘 다 참인 경우에 출력이 참이 되는 연산자

 - 이를 수식으로 표현하자면 'A + B = C'로 표현할 수 있다. (A, B = 입력 / C = 출력)


자바에서 사용되는 연산자의 개념과 종류를 알았으니 이를 활용한 코드를 작성하고, 실행해보겠다.

//문제: 산술, 비교, 논리 연산자 활용 문제

public class Main {
    public static void main(String[] args) {
        int A = 30;
        int B = 15;

        //산술 연산자
        System.out.println("=== 산술 연산자 시작 ===");
        System.out.println(A + B); // A + B = 45
        System.out.println(A - B); // A - B = 15
        System.out.println(A * B); // A * B = 450
        System.out.println(A / B); // A / B = 2
        System.out.println(A % B); // A % B = 0
        System.out.println("=== 산술 연산자 종료 ===");

        //비교 연산자
        //자바에서 참은 true, 거짓은 false로 표현된다.
        System.out.println("=== 비교 연산자 시작 ===");
        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); // true
        System.out.println(A < B); // false
        System.out.println("=== 비교 연산자 종료 ===");

        //논리 연산자
        System.out.println("=== 논리 연산자 시작 ===");
        // '&&' (AND) 연산자
        // 피연산자 두 개가 true일 때만 출력이 true가 되는 논리 연산자
        System.out.println("①. &&(AND) 연산자");
        System.out.println(false && false); // false
        System.out.println(false && true); // false
        System.out.println(true && false); // false
        System.out.println(true && true); // true

        // '||' (OR) 연산자
        // 피 연산자 중 하나가 true이거나, 둘 다 true인 경우에 출력이 true가 되는 논리 연산자
        System.out.println("②. ||(OR) 연산자");
        System.out.println(false || false); // false
        System.out.println(false || true); // true
        System.out.println(true || false); // true
        System.out.println(true || true); // true

        System.out.println("=== 논리 연산자 종료===");
    }
}

위와 같이 코드를 작성하고 실행하면 아래와 같은 출력 결과가 나온다.

더보기

프로그램 실행 결과

산술 연산자 출력 결과
비교 연산자 출력 결과
논리 연산자 출력 결과

 

'Programming > Java' 카테고리의 다른 글

[Java] 5. 반복문  (0) 2022.10.11
[Java] 4. 조건문  (1) 2022.10.05
[Java] 2. 데이터 타입과 형변환  (1) 2022.09.21
[Java] 1. 변수와 상수  (0) 2022.09.13
[Java] 0 - (1). 객체 지향 프로그래밍이란 무엇인가  (2) 2022.09.13