극동대학교\AI컴퓨터공학과\JAVA/자바 공부

연산자 (2장)

sundori 2024. 6. 12. 22:21

목차

    산술 연산자

    기본 산술 연산자

    산술 연산자 사용 예 설명
    + 더하기 a = 5 + 3 5와 3을 더한 값을 a에 대입
    - 빼기 a = 5 - 3 5와 3을 뺀 값을 a에 대입
    * 곱하기 a = 5 * 3 5와 3을 곱한 값을 a에 대입
    / 나누기 a = 5 / 3 5와 3을 나눈 값을 a에 대입
    % 나머지 a = 5 % 3 5와 3을 나누고 생긴 나머지 값을 a에 대입

    산술 연산자의 우선순위

    public class Study {
        public static void main(String[] args) {
            int a = 3, b = 4, c = 5;
            System.out.println(a + b - c);
            System.out.println(a - c + b);
            System.out.println(-c + a + b);
        }
    }
    -------
    출력 결과
    2
    2
    2
    public class Study {
        public static void main(String[] args) {
            int a = 3, b = 4, c = 5;
            System.out.println(a / b * c);
            System.out.println(a * c / b);
            System.out.println(c / a * b);
        }
    }
    ------
    출력 결과
    0
    3
    4

    위의 코드들은 우리가 평상시에 계산하면 나오는 과정과 결과가 동일하다. 더하기와 뺄셈이 같이 있고 곱하기와 나누기가 같이 있을 때 그런 결과가 나온다. 

    이 말은 즉슨 서로 간의 우선순위가 동일하기 때문이다.

    그렇다면 더하기 뺄셈 곱셉 나누기  이 연산자들이 섞여 있는 경우에는? 앞에서 차례대로 계산한 것과 다른 결과가 나온다.

    이 밖에도 몇가지 연산자가 더 있는데 이 친구들의 우선순위는 밑에서 확인하자.

    public class Study {
        public static void main(String[] args) {
            int a = 3, b = 4, c = 5;
            System.out.println(a * b + c);
            System.out.println(c + a * b);
    
        }
    }
    ------
    출력 결과
    17
    17

    대입 연산자

    자바의 가장 기본적인 대입 연산자는 =으로, 이는 오른쪽의 값이나 계산 결과를 왼쪽의 변수에 대입하라는 의미이다.\

    public class Study {
        public static void main(String[] args) {
            int a = 3;
            a = 4;
            a = 5;
        }
    }

    복합 대입 연산자

    복합 대입 연산자 사용 예 설명
    += num +=  3 num = num + 3과 같다.
    -= num  -= 3 num = num - 3과 같다.
    *= num  *= 3 num = num * 3과 같다.
    /+ num  /= 3 num = num / 3과 같다.
    %= num %= 3 num = num % 3과 같다.

    증감 연산자

    증감 연산자 사용 예 설명
    ++ num++
    ++num
    num = num + 1, num += 1과 같다.
    -- num--
    --num
    num = num - 1, num -= 1과 같다.
    public class Study {
        public static void main(String[] args) {
            int a = 3;
            System.out.println(a);
            a++;
            System.out.println(a);
            a += 1;
            System.out.println(a);
            a--;
            System.out.println(a);
        }
    }
    ------
    출력 결과
    3
    4
    5
    4

    비교 연산자와 논리 연산자

    비교 연산자

    비교 연산자는 말 그대로 어떤 것이 큰지, 작은지, 같은지를 비교하는 연산자로, 관계 연산자라고도 불린다.

    이러한 비교 연산자는 결과로 참(True), 거짓(False)를 돌려주는데 단독으로 사용하는 경우는 거의 없고 조건문이나 반복문과 함께 사용한다.

    100 < 200 참(true)
    100 > 200 거짓(false)
    반환 값

     

    비교 연산자 의미 설명
    == 같다 왼쪽 값과 오른쪽 값이 같다면 참
    != 같지 않다 왼쪽 값과 오른쪽 값이 다르면 참
    > 크다 왼쪽 값이 오른쪽 값보다 크다면 참
    < 작다 왼쪽 값과 오른쪽 값보다 작다면 참
    >= 크거나 같다 왼쪽 값이 오른쪽 값보다 크거나 같다면 참
    <= 작거나 같다 왼쪽 값이 오른쪽 값보다 작거나 같다면 참
    import java.util.Scanner;
    
    public class Study {
        public static void main(String[] args) {
            Scanner s = new Scanner(System.in);
            int score = 0;
            
            System.out.print("실기 시험 점수를 입력하세요: ");
            score = s.nextInt();
    
            System.out.println(score >= 70);
            s.close();
        }
    }
    ------
    입력 값 : 100
    출력 값 : true

    논리 연산자

    비교 연산자가 여러 번 필요할 때는 논리 연산자를 사용한다.

    논리 연산자 의미 설명 사용 예
    && 그리고(and) 둘 다 참이어야 참 (a > 10) && (a < 20)
    || 또는(or) 둘 중 하나만 참이어도 참 (a == 10) && (a == 20)
    ! 부정(not) 참이면 거짓/ 거짓이면 참 !(a > 10)

    예를 들어 10보다 크고 20보다 작아야한다는 조건이 필요할 때  (a > 10) && (a < 20)처럼 작성한다.

    public class Study {
        public static void main(String[] args) {
            int num = 99;
            System.out.println( (num > 100) && (num < 200) );
            System.out.println( (num == 99) || (num == 100) );
            System.out.println( !(num == 100) );
        }
    }
    ------
    출력 결과
    false
    true
    true

     

    연산자의 우선순위

    우선 자바라는 언어에는 다양한 연산자가 존재한다. 따라서 코딩을 하다 보면 한 줄에 여려 개의 연산자가 동시에 들어가기도 한다.

    이러한 경우 조심해야 하는 것이 연산자들의 우선순위이다. 우리가 + 와 *를 두고 계산할 때 *(곱셈) 먼저 하는 것과 마찬가지이다.

    우선순위 연산자 설명 순위가 같을 때 진행 방향
    1 () [] 1차 연산자 -->
    2 +  -  ++  --  ~   ! 단항 연산자(변수 또는 상수 앞에 붙는다.) <--
    3 *  /  % 산술 연산자 -->
    4 +  - 산술 연산자 -->
    5 <<  >>  >>> 비트 시프트 연산자 -->
    6 <  <=  >  >=  instanceof 비교 연산자 -->
    7 ==  != 비교 연산자 -->
    8 & 비교 연산자 -->
    9 ^ 비교 연산자 -->
    10 | 비교 연산자 -->
    11 && 논리 연산자 -->
    12 || 논리 연산자 -->
    13 ?: 조건 삼항 연산자 -->
    14 =  +=  -=  *=  /=  %=
    &=  ^=  I=  <<=  >>=
    대입 연산자 <--

    많기도 하다 하지만 중요하니 꼭 알아두자.

     

    요약

    1. 대표적인 산술 연산자는 더하기(+), 빼기(-), 곱하기(&), 나누기(/), 나머지(%)이다.
    2. 정수를 정수로 나눈 결과는 정수이다.
    3. 더하기와 빼기가 함께 있을 때는 앞에서부터 차례대로(왼쪽부터 오른쪽으로) 계산하며 나누기 연산 역시 순서를 바꿔도 같은 결과가 나오기에 앞에서부터 차례대로 계산하면 된다.
    4. 더하기, 빼기와 곱하기, 나누기가 함께 있을 때는 곱하기, 나누기가 먼저 계산된다.
    5. 자바에서는 Math.pow(밑수, 지수) 메서드를 통해 제곱 연산이 가능하다.
    6. 대입 연산자(=)는 오른쪽의 값이나 계산 결과를 왼쪽의 변수에 대입하라는 의미이다.
    7. 복합 대입 연산자는+=, -=, *=, /=, %= 등이 있고, 증감 연산자는 ++, --가 있다.
    8. 비교 연산자(관계 연산자)는 어떤 것이 크며 작고 같은지를 비교하는 연산자이다.
    9. 비교 연산자에는 ==,!=, >, <, >=, <=등이 있다.
    10. &&, ||, ! 등의 논리 연산자는 비교 연산자가 여러 개일 때 사용한다.

    '극동대학교\AI컴퓨터공학과\JAVA > 자바 공부' 카테고리의 다른 글

    데이터형과 문자열(4장)  (1) 2024.06.14
    변수(1장)  (0) 2024.06.12