2014년 9월 4일 목요일

Java 연산자(그 밖의 연산자)

6. 그 외의 연산자

6.1 삼항 연산자 ? :


삼항 연산자는 세 개의 피연산자를 필요로 하기 때문에 삼항 연산자입니다. 조건식과 조건식이 참일 때와 거짓 일 때 반환되는 값 이 세가지가 삼항연사자의 피연사자입니다. 삼항 연산자의 조건식에는 연산결과가 ture 또는 false인 식이 사용되어야 합니다.
 조건식의 연산결과가 true이면 식 1을 결과로 얻고 false이면 식2를 결과로 얻습니다.

(조건식) ? 식1 : 식2
result = (x>0)? x : -x;

삼항 연산자는 if문으로 바꿔 쓸 수 있으며, 간단한 if문 대신 삼항 연산자를 사용하면 코드를 간단히 할 수 있습니다.
 위의 삼항연산자를 if문으로 바꾸면 다음과 같이 됩니다

if(x>0){
result = x;
}else{
result=-x;
}

삼항연산자

public class Operator27 {

public static void main(String[] args) {

int x = 10;
int y = -10;

int X = ( x>=0 ? x : -x);
int Y = ( y>=0 ? y : -y);

System.out.println("x=10일 때. x의 절대값은 "+X);
System.out.println("y=10일 때, y의 절대값은 "+Y);

}
}

실행결과

x=10일 때. x의 절대값은 10
y=10일 때, y의 절대값은 10

삼항 연산자를 이용해서 변수의 절대값을 구하는 예제입니다.
삼항 연산자를 대신 조건문을 사용하면
int X=0;
if(x>=0){
X=x}else{
X=-x;
}

6.2 대입 연산자 =,op=


대입 연산자는 변수에 값 또는 수식의 연산결과를 저장하는데 사용됩니다. 대입 연산자의 왼쪽에는 반드시 변수가 위치하고 오른쪽에는 리터럴이나 변수 또는 수식이 옵니다.

int x = 0;
x = 3
x = x+3;
7 = x+4;  // 대입 연산자의 왼쪽 피연산자가 변수가 아니기 때문에 에러가 난다.
final X = 3; //final을 붙이면 상수가 됩니다.
X = 10  // 상수의 값은 바꿀 수 없습니다.

변수 앞에 키워드 'final'을 붙이면 상수(constant)가 됩니다. 상수는 선언과 동시에 값을 저장해야하며 한 번 저장된 값은 바꿀 수 없습니다.

대입 연산자는 모든 연산자들 중에서 가장 낮은 연산순위를 가지고 잇기 때문에 제일 마지막에 수행됩니다. 연산진행방향은 오른쪽에서 왼쪽이기 때문에 x=y=3;에서 y=3이 먼저 수행되고 그 다음에 x=y가 수행됩니다.
대입 연산자는 다른 연산자와 결합하여 'op='와 같은 방식으로 사용이 될 수 있습니다.
x = x+7은 x +=7과 같이 표현할 수 있습니다.

댓글 없음:

댓글 쓰기