JAVA/JAVA 기초

[JAVA 기초]연산자(operator)

큐범 2021. 7. 8. 17:12

연산자가 연산을 수행하려면 반드시 연산의 대상이 있어야한다. 이것을 '피연산자(operand)'라 일컫는다. 피연산자로 상수, 변수, 식 등을 사용할 수 있다.

연산자(operator) 연산을 수행하는 기호(+,-,*,)

피연산자(operand) 연산자의 작업 대상(변수, 상수, 리터럴, 수식)

 

연산자의 우선순위

  1. 산술 → 비교 → 논리 → 대입. 나열한 순서대로 우선순위가 정해진다.
  1. 단항(1) → 이항(2) → 삼항(3) 단항 연산자의 우선순위가 이항 연산자보다 높다.
  1. 단항 연산자와 대입 연산자를 제외한 모든 연산의 진행방향은 왼쪽에서 오른쪽이다.

산술 변환

이항 연산자는 두 피 연산자의 타입을 일치시켜야한다. 작은 타입을 큰 타입으로 변환시키는 것이 옳다. 그 이유는 값손실이 가능성이 존재하기 때문에 타입을 일치시킬 필요가 있다.

ex)

int i = 10;

float f = 20.0f;

float result = f + (float) i ;

public static void main(String[] args) {
		char a = 'a';
		char d = 'd';
		char zero = '0';
		char two = '2';
		
		System.out.printf(" '%c' - '%c' = %d%n", d, a, d-a);
		System.out.printf(" '%c' - '%c' = %d%n", two, zero, two-zero);
		System.out.printf(" '%c' = %d%n", a, (int)a);
		System.out.printf(" '%c' = %d%n", d, (int)d);
		System.out.printf(" '%c' = %d%n", zero, (int)zero);
		System.out.printf(" '%c' = %d%n", two, (int)two);
	}
//결과 
'd' - 'a' = 3
'2' - '0' = 2
'a' = 97
'd' = 100
'0' = 48
'2' = 50

 

산술변환 개념정리

  1. 두 연산자의 타입을 같게 일치시킨다. (작은 타입에서 큰 타입으로)
  1. 피연산자의 타입이 int보다 작을 경우 int로 통일 (ex byte, short)

단항연산자

증감 연산자 (++ --)

증가 연산자(++) 피연산자의 값을 1 증가시킨다.

감소 연산자(--) 피연산자의 값을 1 감소시킨다.

피연산자의 왼쪽에 위치 = 전위형(prefix)

피연산자의 오른쪽에 위치 = 후위형(postfix)

부호 연산자 (+ -)

부호 연산자는 -는 피연산자의 부호를 반대로 변경한 결과를 반환한다.

int i=-10; i=-i;

// i=10

public static void main(String[] args) {
		char c = 'a';
	//a ~ z 출력
		for(int i = 0; i<26; i++) {
			System.out.print(c++);
		}
		System.out.println();
		
		c= 'A';
	//A ~ Z 출력
		for(int i =0; i<26; i++) {
			System.out.print(c++);
		}
		System.out.println();
		
		c='0';
	//0부터 9 출력
		for(int i = 0; i<10; i++) {
			System.out.print(c++);
		}
	}
//결과
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789

 

 

출처 : JAVA의 정석 - (남궁성지음)