티스토리 뷰
증감 연산자(++, --)
피연산자의 값을 1을 더하거나 1을 빼는 연산자.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
public class OperatorTest {
public static void main(String[] args) {
//증감문 전위형 후위형에 대하여
int i = 0, j = 0, k = 0;
//1.증감 연산자에는 전위형, 후위형이 있는데 단독으로 쓰일 경우에는 두 값이 1이 증가한다는데는 차이가 없다
//전위형 같은 경우에는 먼저 변수값을 증가하거나 감소시키기 때문에 문제가 없다
i++;
++j;
System.out.println("변수 i 의 값 >>> "+i);
System.out.println("변수 j의 값 >>> "+j);
//2. 하지만 메서드 호출시에 인자로서 후위형 증감문 사용 시 우선 기존 k값을 넘겨주고 그 다음에 값이 증가한다.
int returnVersion = returnTest(k++);
System.out.println("returnVersion 변수값 >>> "+returnVersion+", 함수를 호출하고 난뒤의 k변수 값 >>> "+k);
k = 0;
//3. 연산시에도 마찬가지 i는 값을 먼저 증가시키기 때문에 상관없지만 j같은 경우에는 i와 먼저 더해진 후에 값을 증가시킨다.
//그렇기 때문에 i=2,j=1인 상태로 더해지기 때문에 k값은 3이 된다.
k = (++i) + (j++);
System.out.println("k = (++i) + (j++) 연산 후 k값 >>> "+k);
System.out.println("i = "+i+", k = "+j);
}
static int returnTest(int version) {
System.out.println("함수안에서의 값>>>"+version);
return version;
}
}
|
cs |
1 2 3 4 5 6 | 변수 i 의 값 >>> 1 변수 j의 값 >>> 1 함수안에서의 값>>>0 returnVersion 변수값 >>> 0, 함수를 호출하고 난뒤의 k변수 값 >>> 1 k = (++i) + (j++) 연산 후 k값 >>> 3 i = 2, k = 2 | cs |
부호 연산자(+, -)
부호 연산자는 피연산자의 부호를 변경하는데 사용된다.
1 2 3 4 5 6 7 8 | int a = 2; a = -a; int b = 2; b = +b; | cs |
-부호 연산자는 피연산자에 -1곱한 결과를, +부호 연산자는 +1곱한 결과를 반환한다.
그러므로 a의 값은 -2가 되고, b의 값은 그대로 2가 된다.
비트 연산자 (&, |, ^)
비트 연산자는 두 피연산자의 결과에 따라 1이나 0을 반환한다.
& 연산자는 두 피연산자의 값이 1일 때 1을 반환하고 아니면 0을 반환.
| 연산자는 두 피연산자의 값중에 하나라도 1일 때 1을 반환하고 아니면 0을 반환.
^ 연산자는 두 피연사자의 값이 반대되는 값일 때 1을 반환하고 나머지는 0을 반환.
피연산자1 | 피연산자2 | & | | | ^ |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
0 | 0 | 0 | 0 | 0 |
'JAVA > 정리' 카테고리의 다른 글
java enum 열거형 (0) | 2014.01.22 |
---|---|
HashSet, TreeSet (0) | 2014.01.21 |
[Collection Framework] ArrayList, LinkedList (0) | 2014.01.16 |
Exception 예외처리 (0) | 2013.12.30 |
2진수, 10진수, 8진수, 16진수 진수 변환 (0) | 2013.12.17 |
Comments