JAVA 연산자 (operator)
관련링크
본문
단항 연산자 | ++ , -- , + , - , ~ , ! , (타입)
|
산술 연산자 | % , / , * |
+, - | |
<< , >> , >>> | |
비교 연산자
| < , > , <= , >= |
== , != | |
논리 연산자 | & |
^ | |
| | |
&& | |
|| | |
삼항 연산자 | ? : |
대입 연산자 | = ( *= , /= , %= , += , -= , <<= >>= , >>>= , &= , ^= , |= ) |
몇몇 처음보는 연산자를 제외하면 그렇게 큰 변화는 없다.
제일 첫번째 단항 연산자.
단항연산자에서 중요한부분은 ++, -- 이다.
int i = 0; // 변수 i의 저장장소에 0을 넣어두었다.
i++; // i = i + 1 이라는 뜻이다.
// i에 1을 더해 그것을 다시 i라는 저장공간에 넣어라는 명령이다
// 그럼 i + 1에서의 i는 0의 값을 가지고 있지만 +1을 하여 다시 i에 그 값을
// 넣었으니 i의 저장장소에는 이제 1이 들어가있다.
++i; // 위와 마찬가지로 i가 +1이 되어 이제 i는 2가 될것이다.
// 여기까지는 위 두식의 다른점을 찾을수가 없다.
int j = 0; //이제 j라는 공간을 만들어보자.
j = i; //j라는 공간안에 i를 집어 넣었다.위에서 i는 2이기 때문에 j = 2가 될것이다.
j = ++i; j = i++;
/* 위의 두가지 식을 보자.
언뜻 보면 둘다 j라는 공간에 i에 1을 더한값을 집어 넣어라는 뜻으로 보인다.
하지만 위에서 말했듯이 증감연산자는 앞에 있느냐 뒤에 있느냐에 따라 달라진다.
빨간색 j는 i에 1을 더해서 j라는 저장공간에 값을 저장하기 때문에
j = 3, i = 3 이 될것이다. (i가 2였다는걸 벌써 까먹으면 안된다.)
하지만 초록색 j는 i를 먼저 j에 저장하고 난뒤 1을 더해주는것이다.
그래서 j = 2, i = 3 으로 저장되는것이다.
아직 헷갈리는 사람이 있으면 Java문제 계시판에서 증감연산자를 5번 풀어보아라.
계속 같은문?