연산자 중에서는 일반적으로 두개의 피연산자를 필요로 하는데, 한개 또는 세개의 피연산자를 필요로 하는 경우도 있다. 이를 각각 단항연산자, 삼항연산자라고 한다.
단항 연산자
+ : 단항 플러스 연산자 (Unary plus operator)
- : 단항 마이너스 연산자 (Unary minus operator)
++ : 증가 연산자 (Increment operator)
-- : 감소 연산자 (Decrement operator)
! : 논리 부정 연산자 (Logical Complement operator)
예제소스1>
여기서 +는 "변수 * (+1)"을 의미하고, -는 "변수 * (-1)"를 의미한다.
사실, 단항 플로스 연산자는 왜 사용하는지는 모르겠으나.. 일단 고런게 있는 걸로만 알아달라..^^
예제소스2>
증가 연산자와 감소 연산자의 예제 인데.. 둘다 1만큰 증가 또는 감소 한다는 개념은 동일하지만.. 이 둘은 특이하게 변수의 앞에서도 사용할 수 있고 뒤에서도 사용이 가능한다. 그러나 그 값은 앞에서 사용할 경우와 뒤에서 사용할 경우가 서로 다르다.
예제를 보고 잘 이해하길 바란다.
마지막으로 단항 연산자 중 논리부정 연산자는 말그대로 참값을 거짓으로, 거짓값을 참 값으로 바꾸는 연산자이므로.. boolean타입의 변수에만 사용한다.
삼항연산자
예제3> 두 수 중 큰 값을 찾는 것! 그리고 차이 값(절대값)을 구하는 문제, 삼항연산자
CondOp 이라는 클래스를 만들고..
int 변수 i, j를 선언한다. 50을 변수 i 에 넣어주고, 100을 j에 넣어준다.
이때, 둘 줄 큰 값을 구하기 위해 삼항연산나 ? : 를 사용한다.
삼항연산자는...
변수 = (boolean 조건식) ? true 일 때 값 : false 일 때 값
즉, i가 j보다 크면 i값을 big에 넣고, 작으면 j값을 big에 넣어라는 말!
그래서 big을 출력하면 둘중에 큰 값이 출력 됨!
두번째 diff 역시.. i가 j보다 크면 i에서 j를 빼고, j가 더 크면 j에서 i를 빼서 절대값(두값의 차)를 구할 수 있음.
예제소스>
class CondOp
{
public static void main(String[] args)
{
int i = 50, j = 100;
int big, diff;
big = (i > j) ? i : j; //i가 j보다 크다는 조건에서 참일 때는 i값을 거짓일 때는 j 값을 big값에 넣는다
System.out.println(big);
diff = (i > j) ? i-j : j-i;
System.out.println(diff);
}
}
'공부합시다' 카테고리의 다른 글
[자바문법] 예제: 메소드, return, 구구단 (0) | 2015.05.07 |
---|---|
[JAVA] break문, continue문 (0) | 2015.05.06 |
[JAVA] 반복문 - for, while, do-while (0) | 2015.05.06 |
[JAVA] 조건문 - if, switch (0) | 2015.05.06 |
[JAVA] [연산자3] 연산자 우선순위, 비교연산자 (0) | 2015.05.05 |
[JAVA] [연산자1] 산술연산자, 대입연산자 (0) | 2015.05.05 |
[JAVA] 자바의 자료형 (0) | 2015.05.05 |
[자바문법] 기본자료형 - short, int, 8진수, 16진의 표현 (0) | 2015.05.05 |
[자바문법] 변수의 사용 (UseVriable) (0) | 2015.05.05 |
[자바문법] First Java (0) | 2015.05.05 |