조건 연산자? :

조건 연산자는 조건식, 식 1, 식 2 모두 세 개의 피연산자를 필요로 하는 삼항 연산자이며,

삼항 연산자는 조건 연산자 하나뿐이다.

 

(조건식)? (참이면 반환) : (거짓이면 반환)

 

public class OperatorEx32 {
	public static void main(String[] args) {
		int x, y, z;
		int absX, absY, absZ;
		char signX, signY, signZ;
		
		x = 10;
		y = -5;
		z = 0;
		
		absX = x >= 0 ? x : -x; // x의 값이 음수이면, 양수로 만든다.
		absY = y >= 0 ? y : -y;
		absZ = z >= 0 ? z : -z;
		
		signX = x > 0 ? '+' : (x==0 ? ' ' : '-'); //조건 연산자를 중첩
		signY = y > 0 ? '+' : (y==0 ? ' ' : '-');
		signZ = z > 0 ? '+' : (z==0 ? ' ' : '-'); 
		
		System.out.printf("x=%c%d%n", signX, absX);
		System.out.printf("y=%c%d%n", signY, absY);
		System.out.printf("z=%c%d%n", signZ, absZ);
		
	}

}
x=+10
y=-5
z= 0

 

대입 연산자 = op=

대입 연산자는 변수와 같은 저장공간에 값 또는 수식의 연산 결과를 저장하는 데 사용된다.

특이한 점은 연산 진행방향이 오른쪽에서 왼쪽이다.

대입 연산자의 왼쪽 피연산자를 lvalue(left value)이라 하고, 오른쪽 피연산자를'rvalue(right value)라고 한다.

 

복합 대입 연산자

대입 연산자는 다른 연산자(op)와 결합하여 op=과 같은 방식으로 사용될 수 있다.

 

op= =
i +=3; i = i + 3;
i -= 3; i = i - 3;
i *= 3; i = i * 3;
i /= 3; i = i / 3;
i %= 3; i = i % 3;
i <<= 3; i = i << 3;
i >>= 3; i = i >> 3;
i &= 3; i = i & 3;
i ^= 3; i = i ^ 3;
i |= 3; i = i | 3;

+ Recent posts