+, -는 이항 연산자로써 덧셈과 뺄셈의 기능을 제공합니다.
하지만 우리가 수학시간에 많이 사용했듯, 부호연산자로써 음수와 양수를 표현하는데 사용되기도 합니다.
public class UnaryAddMin {
public static void main(String[] args) {
// TODO Auto-generated method stub
int n1 = 5;
System.out.println(+n1);
System.out.println(-n1);
short n2 = 7;
int n3 = +n2;
int n4 = -n2;
System.out.println(n3);
System.out.println(n4);
}
}
5
-5
7
-7
연산자 |
연산자의 기능 |
결합방향 |
++ (prefix) |
피연산자에 저장된 값을 1 증가 ex)val = ++n; |
<- |
-- (prefix) |
피연산자에 저장된 값을 1 감소 ex)val = --n; |
<- |
왜 prefix 접두사가 붙냐면, 피연산자의 앞부분에 붙는 연산자이기 때문입니다.
import java.util.concurrent.SynchronousQueue;
public class PrefixOp {
public static void main(String[] args) {
// TODO Auto-generated method stub
int num1 = 7;
int num2, num3;
num2 = ++num1; //num1은 8이 됩니다.
num3 = --num1; //num1은 다시 7이 됩니다.
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
}
}
7
8
7
postfix 연산자도 있습니다. prefix와는 반대로 접미사로, 피연산자의 뒤에 붙습니다.
연산자 |
연산자의 기능 |
결합방향 |
++ (postfix) |
피연산자에 저장된 값을 1 증가 ex) val = n++; |
<- |
-- (postfix) |
피연산자에 저장된 값을 1 감소 ex) val = n--; |
<- |
public class PostfixOp {
public static void main(String[] args) {
// TODO Auto-generated method stub
int num1 = 7;
int num2, num3;
num2 = num1++;
num3 = num1--;
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
}
}
7
7
8
prefix 와 같이 생각해보면 7,8,7이 될 것 같지만
7 7 8이 나왔습니다.
prefix는 증가 이후에 값을 대입하고 postfix는 증가 이전에 값을 대입하기 때문입니다.
public class PostfixUst {
public static void main(String[] args) {
// TODO Auto-generated method stub
int num1=7, num2;
num2 = (num1--) + 5;
System.out.println("num1 : "+num1);
System.out.println("num2 : "+num2);
}
}
num1 : 6
num2 : 12
'Programming > JAVA' 카테고리의 다른 글
5-1 if~else (0) | 2018.09.16 |
---|---|
4-3 비트와 관련이 있는 연산자 (0) | 2018.08.27 |
4-1 자바에서 제공하는 이항 연산자들 (0) | 2018.08.26 |
3-2 자료형의 변환 (0) | 2018.08.26 |
3-1 상수 (0) | 2018.08.21 |