본문 바로가기

개발자 이야기/JAVA

자바 연산자의 종류에 대해서 알아보자, 2편

오랜만에 이렇게 포스팅을 하게 되었다. 요새 이래저래 바쁘다는 핑계로 포스팅을 계속 미루고 있었는데... 정리되는 대로 포스팅을 다시 열심히 해야지.. 공부도 물론 열심히... 매번 같은 레퍼토리.. 우선 이번 주에는 집에서 기존에 사용하던 맥북을 처분하고 윈도우 노트북으로 교체할 예정이다. 맥북이 아무래도 우리나라에선 불편한 점들이 많기에! 그렇다고 부트캠프를 쓰자니 그럴 바엔 윈도우 노트북을 구매하는 것이 더 좋을 것 같다는 판단 하에 다음 주 내로 윈도우 노트북을 구매할 예정이다. 얼른 개봉기를 포스팅하는 날이 왔으면 좋겠다^^!


이번 포스팅에서는 지난 포스팅에 이어서 연산자에 대해서 정리를 하려고 한다. 자바 관련 포스팅은 정확히 한 달 만에 하게 되었다. 물론 다른 포스팅들도 없었으니 한 달 만에 포스팅을 하는 것이다. 포스팅은 미루더라도 공부는 꾸준히 하고 있었다.... 물론 그것도 매일매일 하진 못했지만, 얼른 GitHub를 능숙하게 사용해서 1일 1commit을 실천하도록 열심히 공부해야겠다. 그럼 자바 연산자에 대해서 계속 이어서 정리해보자!



▶ 비교 연산자


비교연산자는 크게 어렵지 않아 굳이 공부를 하지 않아도 초등학교 수학을 배웠다면 대부분 이해가 갈 것이다. 물론 초등학교 수학에서 다루지 않는 부분도 있지만, 우선 쉽게 알 수 있는 대소비교 연산자부터 살펴보자. 


>, >=, <=, <


굉장히 낯이 익은 기호들이다. 크다, 크거나 같다, 작거나 같다, 작다를 나타내는 기호들이다. 이 대소비교 연산자는 어디서든 사용할 수 있지만 다만 boolean(true, false)나 참조형(실제 데이터가 들어가 있지 않고 주소를 나타낸다.) 은 이 대소비교 연산자를 사용할 수 없다. 비교 연산자에는 대소비교 연산자 뿐만 아니라 등가비교 연산자도 있는데, 이 또한 크게 어렵지 않은 개념이니 간단하게 정리한다.


==, !=


이 또한 크게 어렵지 않은 형태이다. '같다', '같지 않다' 라는 개념인데, 이 등가비교 연산자는 대소비교 연산자와는 다르게 boolean이나 참조형에서도 사용 가능하다. 여기서 주의할 점은 바로 '='와 '=='의 차이이다. 프로그래밍을 처음 공부할 때는 굉장히 헷갈릴 수 있다. 보통 수학에서는 '='을 같다라는 의미로 사용하지만, 자바에서는 그렇지 않다. 자바에서의 '='는 좌변에 우변 값을 대입하겠다는 뜻이다. 흔히들 알고 있는 수학에서의 '='는 자바에서 '=='로 사용한다. 그리고 문자열(String)을 비교할 때는 '=='를 사용하지 않고 eqauls라는 것을 사용하여 비교한다. 이해를 돕기 위해 간단한 예제로 정리해봤다.




▶ 논리 연산자


이번엔 논리 연산자이다. 논리 연산자는 엑셀을 좀 써봤다면 아마 이해하기가 훨씬 쉬울 것이다. 그렇지 않다고 해도 크게 어려운 개념은 아니다. 엑셀에서의 AND, OR과 같은 역할을 수행한다. 다만 자바에서는 AND가 아닌 '&&'로, OR은 '||'로 사용한다는 것이 다른점이다. 우선 '&&(AND)'는 피연산자들이 모두 true여야만 true를 반환한다. 반면에 '||(OR)'은 피연산자들 중 하나라도 true이면 true를 반환한다. 이것들은 정말정말 많이 사용한다. 자바 뿐만 아니라 프로그래밍을 하는 데에 있어서 형태는 다를 수 있지만 어쨌든 AND와 OR은 어디서든 쓰는 개념이니 꼭 알고 넘어가야 한다.


▶ 비트 연산자


비트 연산자는 물론 짧은 경력이지만 아직 한번도 사용해본 적이 없다. 다만 책에 나와 있으니 간략하게만 정리하고 넘어가도록 한다. 




▶ 삼항 연산자


삼항 연산자는 ?와 :로 이루어진 연산자이다. 다른 연산자와는 다르게 저 ?와 :를 세트로 사용한다. 따로 사용하지 않는다. 조건절인 if문과 같은 역할을 수행하는데, 가끔은 if문보다는 삼항 연산자를 사용하는 게 더 간단하게 코딩이 되는 경우들이 있어서 삼항 연산자를 가끔 사용하곤 한다. if문이랑 비교해보면


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package test;
 
public class test {
    public static void main(String[] args) {
        int a = 20;
        int b = 30;
        int result = 0;
         
        //두 수 중에서 큰 값을 출력하기(if문)
        if(a > b){
            result = a;
        }else{
            result = b;
        }
         
        System.out.println("if문 이용 >> " + "큰 값은 " + result + "입니다.");
         
        //두 수 중에서 큰 값을 출력하기(삼항 연산자)
        result = 0;
        result = (a > b) ? a : b;
        System.out.println("삼항 연산자 이용 >> " + "큰 값은 " + result + " 입니다.");
    }
}
cs


이런 식으로 사용한다. 결과 값은 동일하게 출력된다. 한번 실행시켜보면 된다.



▶ 대입 연산자


대입 연산자는 아까 등가비교 연산자에서 '=='랑 헷갈리면 안된다고 잠깐 설명했던 '='를 말한다. '='를 기준으로 왼쪽 피연산자에 오른쪽 피연산자가 대입된다. 


x = 3;


이런 식으로 사용하는데, 이건 x에 3을 대입한다는 뜻이다. 변수를 선언하고 초기화하는 데에 있어서 무조건 사용해야하기 때문에 잘 알고 있어야 한다. 근데 다들 아는 개념이기 때문에 알아야 할 점은 '=='랑 헷갈리면 안된다라는 것 뿐이다.



이렇게 해서 무려 한 달 동안(?) 두 개의 포스팅으로 나누어서 연산자에 대해서 정리해봤다. 앞으로 더 열심히 공부해서 자주 포스팅으로 정리해야겠다.